<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ESRI.ArcGIS.Client.Portal</name>
    </assembly>
    <members>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Charting.BarChart">
            <summary>
            *FOR INTERNAL USE ONLY* Bar chart. 
            </summary>
            <exclude/>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart">
            <summary>
            *FOR INTERNAL USE ONLY* Base class for charts. 
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart"/> class.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.FieldsProperty">
            /// <summary>
            Identifies the <see cref="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.Fields"/> dependency property.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.KeyToLabelDictionaryProperty">
            /// <summary>
            Identifies the <see cref="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.KeyToLabelDictionary"/> dependency property.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.ItemsSourceProperty">
            <summary>
            Identifies the <see cref="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.ItemsSource"/> dependency property.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.OnApplyTemplate">
            <summary>
            When overridden in a derived class, is invoked whenever application
            code or internal processes (such as a rebuilding layout pass) call
            <see cref="M:System.Windows.Controls.Control.ApplyTemplate"/>. In
            simplest terms, this means the method is called just before a UI 
            element displays in an application.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.MeasureOverride(System.Windows.Size)">
            <summary>
            Overrides MeasureOverride
            </summary>
            <param name="availableSize"></param>
            <returns></returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.SetTooltip(System.Windows.DependencyObject,System.String,System.String)">
            <summary>
             Set the tooltip of a data point
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.GenerateChart">
            <summary>
            Generates the chart from the ItemsSource
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.InvalidateChart">
            <summary>
            Invalidates the chart
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.GetColorByIndex(System.Int32)">
            <summary>
            Returns a color by index
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.FormattedValue(System.Double)">
            <summary>
            Returns a double value formatted to be displayed in axis or tooltip.
            </summary>
            <param name="value"></param>
            <returns>Label</returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.Fields">
            <summary>
             Fields displayed into the chart (e.g Field1,Field2,Field3 or  Field1,Field2,Field3_::_NormalizeField)
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.KeyToLabelDictionary">
            <summary>
             Dictionary with the labels by field.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.ItemsSource">
            <summary>
             Dictionary with the values to display in the chart
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.ForegroundColor">
            <summary>
             Color for chart axis and stroke of line chart points
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Charting.BaseChart.RootElement">
            <summary>
            Root element of the control
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.BarChart.GenerateChart">
            <summary>
            Generates the bar chart.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Charting.ChartConverter">
            <summary>
            Converts and filters the attributes for use with displaying charting in popup.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.ChartConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.ChartConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Charting.ColumnChart">
            <summary>
            *FOR INTERNAL USE ONLY* Column chart. 
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.ColumnChart.GenerateChart">
            <summary>
            Generates the column chart.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Charting.LineChart">
            <summary>
            *FOR INTERNAL USE ONLY* Line chart. 
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.LineChart.GenerateChart">
            <summary>
            Generates the line chart.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Charting.PieChart">
            <summary>
            *FOR INTERNAL USE ONLY* Pie chart. 
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Charting.PieChart.GenerateChart">
            <summary>
            Generates the pie chart.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.GetItemCompletedEventArgs">
            <summary>
            EventArgument for the <see cref="E:ESRI.ArcGIS.Client.WebMap.Document.GetItemCompleted"/> event.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetItemCompletedEventArgs.ItemInfo">
            <summary>
            Gets the web document metadata.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetItemCompletedEventArgs.Error">
            <summary>
            Gets a value that indicates which error occurred during an asynchronous operation.
            </summary>
            <value>
            An <see cref="T:System.Exception"/> instance, if an error occurred
            during an asynchronous operation; otherwise null.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetItemCompletedEventArgs.UserState">
            <summary>
            Gets the unique identifier for the asynchronous task.
            </summary>
            <value>An object reference that uniquely identifies the asynchronous 
            task; otherwise, null if no value has been set..</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs">
            <summary>
            EventArgument for the <see cref="E:ESRI.ArcGIS.Client.WebMap.Document.GetMapCompleted"/> event.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs.Map">
            <summary>
            Gets the map.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs.DocumentValues">
            <summary>
            Gets the raw dictionary values that the web document contains
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs.SpatialReference">
            <summary>
            Gets the suggested spatial reference for the map.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs.TimeProperties">
            <summary>
            Gets or sets the time properties for the web map document.
            </summary>
            <value>The time properties for the web map document.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs.WebMap">
            <summary>
            Gets the <see cref="P:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs.WebMap"/> that the web document contains.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.ItemInfo">
            <summary>
            Document Item Info Metadata
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.ID">
            <summary>Gets the Item ID.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Item">
            <summary>Gets the item name.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.ItemType">
            <summary>Gets the Item type.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Owner">
            <summary>Gets the owner.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Uploaded">
            <summary>Gets the date the item was uploaded.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Title">
            <summary>Gets the item title.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Description">
            <summary>Gets the description.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Thumbnail">
            <summary>Gets the thumbnail.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Extent">
            <summary>Gets the startup extent.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Tags">
            <summary>Gets the tags.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Type">
            <summary>Gets the type.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.Snippet">
            <summary>Gets the snippet.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.LicenseInfo">
            <summary>Gets the license info.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.AccessInformation">
            <summary>Gets the access information.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.NumberOfComments">
            <summary>Gets the number of comments.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.NumberOfRatings">
            <summary>Gets the number of ratings.</summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.ItemInfo.AverageRating">
            <summary>Gets the average rating.</summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.MapConfiguration.ProcessFeatureCollectionLayers(System.Collections.Generic.Queue{ESRI.ArcGIS.Client.WebMap.WebMapSubLayer},ESRI.ArcGIS.Client.GroupLayer,ESRI.ArcGIS.Client.WebMap.WebMapLayer,System.Int32,System.Action)">
            <summary>
            Iteratively processes a stack of sublayers in a FeatureCollection.
            </summary>
            <param name="subLayerStack">The stack of WebMapSubLayers to process</param>
            <param name="featureCollectionLayers">The GroupLayer that will contain all the sublayers</param>
            <param name="webMapLayer">The WebMapLayer that represents the FeatureCollection Group</param>
            <param name="subLayerID">The current WebMapSubLayer index for the next item in the stack (used for checking VisibleLayers id)</param>
            <param name="callback">Callback when all sublayers has been processed</param>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelector">
            <summary>
            *FOR INTERNAL USE ONLY* Navigate though a list a items showing only one item at a time.. 
            </summary>	
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelector.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelector"/> class.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelector.OnApplyTemplate">
            <summary>
            When overridden in a derived class, is invoked whenever application code or
            internal processes (such as a rebuilding layout pass) call
            <see cref="M:System.Windows.Controls.Control.ApplyTemplate"/>.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem">
            <summary>
            *FOR INTERNAL USE ONLY* ItemSelector item with an header and a content. 
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem"/> class.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs)">
            <summary>
            Provides handling for the <see cref="E:System.Windows.UIElement.MouseLeftButtonDown"/> event.
            </summary>
            <param name="e">The event data.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem.OnApplyTemplate">
            <summary>
            When overridden in a derived class, is invoked whenever application code or
            internal processes (such as a rebuilding layout pass) call
            <see cref="M:System.Windows.Controls.Control.ApplyTemplate"/>.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem.HeaderProperty">
            /// <summary>
            Identifies the <see cref="P:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem.Header"/> dependency property.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.ItemSelectorItem.Header">
            <summary>
            Gets or sets the content for the header of the control.
            </summary>
            <value>
            The content for the header of the control. The default value is
            null.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.HtmlToPlainTextConverter">
            <summary>
            *FOR INTERNAL USE ONLY* Removes HTML from attribute values.
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.HtmlToPlainTextConverter.System#Windows#Data#IValueConverter#Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.HtmlToPlainTextConverter.System#Windows#Data#IValueConverter#ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.HtmlToPlainTextConverter.LookupField">
            <summary>
            Gets or sets the lookup field.
            </summary>
            <value>The lookup field.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.HtmlToPlainTextConverter.FieldDomainCollection">
            <summary>
            Gets or sets the field domain collection.
            </summary>
            <value>The field domain collection.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.UrlAttributeConverter">
            <summary>
            *FOR INTERNAL USE ONLY* Creates a string url from an attribute dictionary
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.UrlAttributeConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.UrlAttributeConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter">
            <summary>
            *FOR INTERNAL USE ONLY* Removes HTML from attribute values.
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter.GetInlineCollection(System.Windows.DependencyObject)">
            <summary>
            Gets the Inline collection from the dependency object.
            </summary>
            <param name="obj">DependencyObject that should be searched for the attached property.</param>
            <returns>A collection of Inline objects found attached to the DependencyObject.</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter.SetInlineCollection(System.Windows.DependencyObject,System.Collections.Generic.IEnumerable{System.Windows.Documents.Inline})">
            <summary>
            Sets a collection of Inline object to a DependencyObject
            </summary>
            <param name="obj">The DependencyObject to set the collection of Inline object to.</param>
            <param name="value">The Inline object collection to be set to the DependencyObject.</param>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter.InlineCollectionProperty">
            <summary>
            Attached property that holds a collection of Inline objects.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter.LookupField">
            <summary>
            Gets or sets the lookup field.
            </summary>
            <value>The lookup field.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.RichTextAttributeConverter.FieldDomainCollection">
            <summary>
            Gets or sets the field domain collection.
            </summary>
            <value>The field domain collection.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter">
            <summary>
            *FOR INTERNAL USE ONLY* Custom label/attribute value converter for the popup content of web map documents.
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter.GetInlineCollection(System.Windows.DependencyObject)">
            <summary>
            Gets the Inline collection from the dependency object.
            </summary>
            <param name="obj">DependencyObject that should be searched for the attached property.</param>
            <returns>A collection of Inline objects found attached to the DependencyObject.</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter.SetInlineCollection(System.Windows.DependencyObject,System.Collections.Generic.IEnumerable{System.Windows.Documents.Inline})">
            <summary>
            Sets a collection of Inline object to a DependencyObject
            </summary>
            <param name="obj">The DependencyObject to set the collection of Inline object to.</param>
            <param name="value">The Inline object collection to be set to the DependencyObject.</param>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter.InlineCollectionProperty">
            <summary>
            Attached property that holds a collection of Inline objects.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter.LookupField">
            <summary>
            Gets or sets the lookup field.
            </summary>
            <value>The lookup field.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.LabelAttributeConverter.FieldDomainCollection">
            <summary>
            Gets or sets the field domain collection.
            </summary>
            <value>The field domain collection.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.FieldValueConverter">
            <summary>
            *FOR INTERNAL USE ONLY* Converter for WebMap popups that convert text to hyperlinks. 
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.FieldValueConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            *For internal use only* : Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.FieldValueConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            *For internal use only* : Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.FieldValueConverter.stringTemplate">
            <summary>
            *FOR INTERNAL USE ONLY* : Gets or sets the string template.
            </summary>
            <value>The string template.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.FieldValueConverter.urlTemplate">
            <summary>
            *FOR INTERNAL USE ONLY* : Gets or sets the URL template.
            </summary>
            <value>The URL template.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.IsEnabledConverter">
            <summary>
            *FOR INTERNAL USE ONLY* Converter for WebMap popups that change IsEnabled on controls
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.IsEnabledConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            *For internal use only* : Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.IsEnabledConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            *For internal use only* : Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.SafeFieldDictionaryConverter">
            <summary>
            *FOR INTERNAL USE ONLY* Creates a wraped dictionary that allows unbindable characters to be abstracted.
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.SafeFieldDictionaryConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Creates a wrapper dictionary around the data bound dictioanry
            </summary>
            <param name="value">the dictionary to wrap</param>
            <param name="targetType">the type of the target</param>
            <param name="parameter">converter parameters</param>
            <param name="culture">culture of the UI</param>
            <returns></returns>      
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.SafeFieldDictionaryConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Not implemented.
            </summary>
            <param name="value">value to be converted</param>
            <param name="targetType">the type of the target</param>
            <param name="parameter">converter parameter</param>
            <param name="culture">culture of the UI</param>
            <returns></returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortal">
            <summary>
            The ArcGISPortal class is part of the Portal API which provides a way to build applications that work with content from ArcGIS Online or an ArcGIS Portal.
            ArcGIS Portal is software technology from Esri that customers can deploy either on premise or in the cloud.
            ArcGIS Online is Esri's Software as a Service offering that represents GIS as a Service and is implemented using the same technology as ArcGIS Portal.
            The Portal API allows application developers to work with users, groups and content hosted within ArcGIS Online or within an ArcGIS Portal.
            The API allows developers to build web, mobile, and desktop applications that support sharing and collaboration using web maps.
            Organizational developers can also use the API to build custom applications for their users.
            The ArcGISPortal class provides the connection information to the portal (Url, Token, ClientAppType, CultureInfo, ProxyUrl).
            Once initialized by calling <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortal,System.Exception})"/>, <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalInfo"/>, <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.CurrentUser"/> and <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.CurrentVersion"/> are available
            and provide information about the portal and the current user.
            </summary>
            <remarks>This class is needed to instantiate all others classes of the Portal library but the initialization is optional.</remarks>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortal"/> class.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortal,System.Exception})">
            <summary>
            Initializes the portal object from the specified URL.
            At the end of the initialization, <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalInfo"/>, <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.CurrentUser"/> and <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.CurrentVersion"/> are available.
            </summary>
            <param name="url">The portal URL.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.SearchGroupsAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup},System.Exception})">
            <summary>
            Searchs groups from a query string.
            </summary>
            <param name="searchParameters">The search parameters.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.SearchUsersAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalUser},System.Exception})">
            <summary>
            Searchs users from a query string.
            </summary>
            <param name="searchParameters">The search parameters.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.SearchItemsAsync(ESRI.ArcGIS.Client.Portal.SpatialSearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Searches items from a query string and/or an extent.
            </summary>
            <param name="searchParameters">The spatial search parameters.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.SearchItemsAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Searches items from a query string.
            </summary>
            <param name="searchParameters">The search parameters.</param>
            <param name="callback">The callback.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.Url">
            <summary>
            The URL of the ArcGIS Portal REST end point : http://&lt;host&gt;:&lt;port&gt;/sharing/rest.
            If the URL is not set, ArcGIS Online REST URL is used by default (http://www.arcgis.com/sharing/rest).
            </summary>
            <remarks>An earlier pre-release version prior to rationalization and public release of the ArcGIS Online REST API may exist at http://&lt;host&gt;:&lt;port&gt;/sharing for the portal you are accessing.
            Developers are cautioned not to access this pre-release version.
            There are pitfalls to doing so and no advantages over using the released version of the api which is logically equivalent.
            </remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalInfo">
            <summary>
            Provides instance-level information about the ArcGIS Portal.
            </summary>
            <remarks>Availaible only after initialization (<see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortal,System.Exception})"/>)</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.CurrentUser">
            <summary>
            Provides the current user.
            Available only to authenticated users after initialization.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.CurrentVersion">
            <summary>
            Provides the current version of the ArcGIS Portal
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.Token">
            <summary>
            Optional. Gets or sets the token for accessing the portal.
            </summary>
            <value>
            The token.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.ClientAppType">
            <summary>
            Optional. Gets or sets the type of the client app.
            </summary>
            <remarks>Although the REST service does not use this at v1.6.1 it may in the future start providing some client specific properties.</remarks>
            <value>
            The type of the client app.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.CultureInfo">
            <summary>
            Optional. Gets or sets the culture info used to access the portal.
            This locale might be used by the REST service to provide customized or localized content (featured groups/items etc) for different locales. 
            </summary>
            <value>
            The culture info.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.ProxyUrl">
            <summary>
            Optional. Gets or sets the URL to a proxy service that brokers Web requests between the client application 
            and the portal.  Use a proxy service when the private portal is not hosted on a site that provides
            a cross domain policy file (clientaccesspolicy.xml or crossdomain.xml).
            </summary>
            <value>
            The proxy URL string.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.IsInitialized">
            <summary>
            Gets a value indicating whether this instance is initialized.
            </summary>
            <value>
            	<c>true</c> if this instance is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:ESRI.ArcGIS.Client.Portal.ArcGISPortal.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.UnsuccessfulOperationException">
            <summary>
            Exception returnd when a portal POST operation didn't succeed (i.e. returned success=false)
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment">
            <summary>
            Represents a comment on a portal item.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.#ctor(ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment"/> class.
            </summary>
            <param name="portalItem">The portal item.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalComment,System.Exception})">
            <summary>
            Initializes the comment object from the specified comment id.
            </summary>
            <param name="commentId">The comment id.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.IsInitialized">
            <summary>
            Gets or sets a value indicating whether this instance is initialized.
            </summary>
            <value>
            	<c>true</c> if this instance is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.Id">
            <summary>
            Gets or sets the comment id.
            </summary>
            <value>
            The comment id.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.ArcGISPortalItem">
            <summary>
            Gets the portal item that the comment is associated with.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.Owner">
            <summary>
            Gets the user name of the user who created the comment.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.Comment">
            <summary>
            Gets the comment text.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalComment.CreationDate">
            <summary>
            Gets the date and time the comment was created.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder">
            <summary>
            Represents a sub folder in the home folder of an user.
            The folders are used to organize content in a portal.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.#ctor(ESRI.ArcGIS.Client.Portal.ArcGISPortalUser)">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder"/> class.
            </summary>
            <param name="portalUser">The portal user.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder,System.Exception})">
            <summary>
            Initializes the folder object from the specified folder id.
            </summary>
            <param name="folderId">The folder id.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.GetItemsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Gets the items of the user that are stored in this folder.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.IsInitialized">
            <summary>
            Gets or sets a value indicating whether this instance is initialized.
            </summary>
            <value>
            	<c>true</c> if this instance is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.Id">
            <summary>
            Gets or sets the folder id.
            </summary>
            <value>
            The folder id.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.ArcGISPortalUser">
            <summary>
            Gets the portal user that owns this folder.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.Title">
            <summary>
            Gets the title of the folder.
            </summary>
            <value>
            The title/name of the folder.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.CreationDate">
            <summary>
            Gets the date and time the folder was created.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup">
            <summary>
            Represents a group within the portal (e.g., "San Bernardino Fires" ).
            The owner is automatically an administrator and is returned in the list of admins.
            The visibility of the group to other users is determined by the access property. If the group is private no one except the administrators and the members of the group will be able to see it.
            If the group is shared with an organization, then all members of the organization will be able to find the group.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.#ctor(ESRI.ArcGIS.Client.Portal.ArcGISPortal)">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup"/> class.
            </summary>
            <param name="arcGISPortal">The ArcGIS portal.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup,System.Exception})">
            <summary>
            Initializes the group object from the specified group id.
            </summary>
            <param name="id">The group id.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.GetGroupUsersAsync(System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroupUsers,System.Exception})">
            <summary>
            Gets the users, owner, and administrators of the group.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.GetItemsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Gets the items that are shared by the group.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
            <remarks>Available only to the users of the group</remarks>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.GetUserMemberShipAsync(System.Action{ESRI.ArcGIS.Client.Portal.UserMembership,System.Exception})">
            <summary>
            Gets the user member ship.
            Available only if ther request is done from an authenticated user.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.ReflectionInitFrom(ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup)">
            <summary>
            Copy all fields except ArcGISPortal and ISInitialized (properties are copied with backing fields)
            </summary>
            <param name="from">From.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.SearchGroupForFeaturedQuery(ESRI.ArcGIS.Client.Portal.ArcGISPortal,ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup,System.Exception})">
            <summary>
            Searches the group for a featured query.
            If the query returns more than one group, we try to select these with the exact title.
            </summary>
            <param name="arcGISPortal"></param>
            <param name="searchParameters">The search parameters.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.ArcGISPortal">
            <summary>
            Gets the ArcGIS portal.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.IsInitialized">
            <summary>
            Gets a value indicating whether this instance is initialized.
            </summary>
            <value>
            	<c>true</c> if this instance is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">
            <summary>
            Gets or sets the group id.
            </summary>
            <value>
            The group id.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Title">
            <summary>
            Gets the group title.
            This is the name that is displayed to users and by which they refer to the group.
            </summary>
            <remarks>Every group must have a title and it must be unique for a user.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.IsInvitationOnly">
            <summary>
            Gets a value indicating whether this instance is invitation only.
            </summary>
            <value>
            	<c>true</c> if this group will not accept join requests;
            	<c>false</c> if this group do not require an invitation to join.
            </value>
            <remarks>Only group owners and admins can invite users to the group. false is the default.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Owner">
            <summary>
            Gets the username of the group's owner.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Description">
            <summary>
            Gets the detailed description of the group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Snippet">
            <summary>
            Gets a short summary that describes the group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Tags">
            <summary>
            Gets the tags.
            </summary>
            <remarks>Tags are words or short phrases that describe your group.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.IsViewOnly">
            <summary>
            Indicates whether the group members are not able to share items to the group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.SortField">
            <summary>
            Gets the sort field to use for this group. Can be one of 'title', 'owner', 'avgrating', 'numviews', 'created', 'modified' 
            </summary>
            <remark>Sorting information is only metadata on the group and does not impact any other calls.
            It is up to the client to honor the sort field and sort order when rendering the content of the group.
            </remark>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Phone">
            <summary>
            Gets the group contact information.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.ThumbnailPath">
            <summary>
            Gets the pathname to the thumbnail image to be used for the group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.CreationDate">
            <summary>
            Gets the date the group was created.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.ModificationDate">
            <summary>
            Gets the date the group was last modified.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.ThumbnailUri">
            <summary>
            Gets the thumbnail URI.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Access">
            <summary>
            Gets the access level on the group. <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Private"/> is the default.
            If <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Organization">Organization</see>, only members of the organization can access the group.
            If <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Public">Public</see>, all users can access the group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.SortOrder">
            <summary>
            Gets the sort order to use for this group.
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.SortField"/>
            <remark>Sorting information is only metadata on the group and does not impact any other calls.
            It is up to the client to honor the sort field and sort order when rendering the content of the group.
            </remark>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroupUsers">
            <summary>
            The users, owner, and administrators of a group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroupUsers.ArcGISPortalGroup">
            <summary>
            Gets the ArcGIS portal group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroupUsers.Owner">
            <summary>
            Gets the user name of the owner of the group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroupUsers.Admins">
            <summary>
            Gets the user names of the administrators of the group.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroupUsers.Users">
            <summary>
            Gets the user names of the users in the group.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo">
            <summary>
            Includes information such as the name, logo, featured items and supported protocols (http vs https) for this portal.
            If the user is not logged in or if the logged user doesn't belong to an organization, these information concern the default view of the portal.
            If the user is logged in or if the Url is an organization custom Url, the information will be specific to the organization that the user belongs to.
            The default view of the portal is dependent on the culture of the user which is obtained from the users profile.
            
            Most generally you will get the current portal info by the <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalInfo">ArcGISPortalInfo</see> property that is available after the portal has been initialized.
            But it's also possible to instantiate a new ArcGISPortalInfo object and to initialize it with a specific organization id.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.#ctor(ESRI.ArcGIS.Client.Portal.ArcGISPortal)">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo"/> class.
            </summary>
            <param name="arcGISPortal">The ArcGIS portal.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo,System.Exception})">
            <summary>
            Initializes a portal object from the specified organization id.
            </summary>
            <param name="id">The organization id.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.QueryUsersAsync(ESRI.ArcGIS.Client.Portal.QueryParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalUser},System.Exception})">
            <summary>
            Queries the users of the organization.
            Available only for organization authenticated users.
            </summary>
            <param name="queryParameters">The query parameters.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.GetFeaturedGroupsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup},System.Exception})">
            <summary>
            Gets the featured groups asynchronously.
            This method uses the <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.FeaturedGroups"/> informations and returns the corresponding <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup"/>.
            </summary>
            <remarks>If the object is not initialized (i.e. FeaturedGroups is unknown), the initialization is automatically done.</remarks>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.FeaturedGroups"/>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchHomePageFeaturedContentAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Searchs the home page featured content asynchronously.
            This method uses the <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.HomePageFeaturedContent"/> informations and returns the corresponding <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem"/>.
            </summary>
            <remarks>If the object is not initialized (i.e. HomePageFeaturedContent is unknown), the initialization is automatically done.</remarks>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.HomePageFeaturedContent"/>
            <param name="searchParameters">The search parameters that allow to manage the paginated result and to add an additional query parameter.
            If this parameter is null, the search is done without query parameter.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchFeaturedItemsAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Gets the featured items asynchronously.
            This method uses the <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.FeaturedItemsGroupQuery"/> information and returns the corresponding <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem"/>.
            </summary>
            <remarks>If the object is not initialized (in this case FeaturedItemsGroupQuery is unknown), the initialization is automatically done.</remarks>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.FeaturedItemsGroupQuery"/>
            <param name="searchParameters">The search parameters that allow to manage the paginated result and to add an additional query parameter.
            If this parameter is null, the search is done without query parameter.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchBasemapGalleryAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Searchs the basemap gallery items asynchronously.
            This method uses the <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.BasemapGalleryGroupQuery"/> informations and returns the corresponding <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem"/>.
            </summary>
            <remarks>If the object is not initialized (in this case BasemapGalleryGroupQuery is unknown), the initialization is automatically done.</remarks>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.BasemapGalleryGroupQuery"/>
            <param name="searchParameters">The search parameters that allow to manage the paginated result and to add an additional query parameter.
            If this parameter is null, the search is done without query parameter.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.ReflectionInitFrom(ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo)">
            <summary>
            Copy all fields except ArcGISPortal and ISInitialized (properties are copied with backing fields)
            </summary>
            <param name="from">From.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.ArcGISPortal">
            <summary>
            Gets the ArcGIS portal.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.IsInitialized">
            <summary>
            Gets a value indicating whether this instance is initialized.
            </summary>
            <value>
            	<c>true</c> if this instance is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.Id">
            <summary>
            Gets or sets the id of the organization, if the user belongs to one.
            </summary>
            <value>
            The organization id.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.IsAllSSL">
            <summary>
            Gets a value indicating whether the access to the protal resources must occur over SSL.
            </summary>
            <value>
            	<c>true</c> if access to the protal resources must occur over SSL; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.BasemapGalleryGroupQuery">
            <summary>
            Gets the query used to determine which group should drive the gallery of basemaps displayed in the client application for the specified culture.
            The query specified in this setting should be used as the query string parameter for a call to the groups.
            The first group returned should be selected, and those items shared with the group should be displayed in the client’s basemap gallery (if applicable). 
            Ex: "title:'ArcGIS Online Basemaps' AND owner:esri" 
            </summary>
            <seealso cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchBasemapGalleryAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.CanSearchPublic">
            <summary>
            Gets a value indicating whether members of the organization can search outside of the organization.
            When true, public items, groups and users are included in search queries.
            When false, no public items outside of the organization are included.
            However, public items which are part of the organization are included.
            </summary>
            <value>
            	<c>true</c> if the members of the organization can search outside of the organization; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.CanSharePublic">
            <summary>
            Gets a value indicating whether members of the organization can share resources outside of the organization.
            </summary>
            <value>
            	<c>true</c> if the members of the organization can share outside of the organization; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.ColorSetsGroupQuery">
            <summary>
            Gets the color sets group for rendering in map viewer.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.Culture">
            <summary>
            Gets the organization default locale (language and country) information.
            The format for culture code is based on a language code and a country code separated by a dash.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.CustomBaseUrl">
            <summary>
            Gets the custom base URL for the organizations.
            </summary>
            <remarks>the UrlKey od the organization prefixes this base URL</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.DefaultBaseMap">
            <summary>
            Gets the default basemap to be used by the client application for the specified culture when creating new maps.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.Description">
            <summary>
            Gets the description of the organization.
            In the case of non-organizational users of ArcGIS Online or a multi-tenant portal, this will be null.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.FeaturedGroups">
            <summary>
            Gets the featured groups to possibly display on the group page or to feature for an organization.
            </summary>
            <remarks>This property returns an enumeration of <see cref="T:ESRI.ArcGIS.Client.Portal.GroupInfo"/> that provide access to the owner and title for each featured group.
            To get the enumeration of <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup"/>, you can use the method <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.GetFeaturedGroupsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup},System.Exception})"/></remarks>
            <seealso cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.GetFeaturedGroupsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup},System.Exception})"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.FeaturedItemsGroupQuery">
            <summary>
            Gets the query used to determine which group should drive the gallery of featured items displayed in the client application for the specified culture.
            The query specified in this setting should be used as the query string parameter for a call to the groups.
            The first group returned should be selected.
            If the selected group has a null featuredItemsId property then the client should display the items that are shared with the group.
            If the featuredItemsId is non-null then the client should display the items that are related to the featured items item 
            </summary>
            <seealso cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchFeaturedItemsAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.HomePageFeaturedContent">
            <summary>
            Gets the query used to determine which group should drive the featured content displayed on the home page of client application for the specified culture.
            The query specified in this setting should be used as the query string parameter for a call to the groups.
            The first group returned should be selected, and those items shared with the group should be displayed in the home page gallery. 
            Ex: "title:'Featured Maps' AND owner:esri" 
            For a logged in user who is part of an organization this property will always be set from the account properties and will be null if not set by the organizational account administrators. 
            </summary>
            <value>
            The featured content of the home page.
            </value>
            <seealso cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchHomePageFeaturedContentAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.HomePageFeaturedContentCount">
            <summary>
            Gets the number of items to show per page for the featured content screens (max=100).
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.LayerTemplatesGroupQuery">
            <summary>
            Gets the query used to determine which group should drive the list of layer templates in map viewers for a given culture.
            The query specified in this setting should be used as the query string parameter for a call to the groups.
            The first group returned should be selected. 
            Ex: "title:'Esri Layer Templates' AND owner:esri" 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.Name">
            <summary>
            Gets the name of the organization.
            In the case of non-organizational users of ArcGIS Online or a multi-tenant portal, this will be null 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.PortalHostname">
            <summary>
            Gets the portal hostname.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.PortalName">
            <summary>
            Gets the name of the portal.
            In the case of organization subscriptions within multi-tenant portals, name and portalName wil be different.
            In the case of single-tenant Portals, name and portalName will be logically the same. 
            </summary>
            <value>
            The name of the portal.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.PortalThumbnailPath">
            <summary>
            Gets the portal thumbnail path.
            In the case of multi-tenant Portals portalThumbnail and thumbnail will be different for organizational users.
            In the case of single-tenant Portals they will be logically the same.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SymbolSetsGroupQuery">
            <summary>
            Gets the query used to determine which group should drive the symbol sets in map viewers for a given culture.
            The query specified in this setting should be used as the query string parameter for a call to the groups.
            The first group returned should be selected, and those items shared with the group should be displayed as symbol sets. 
            Ex: "title:'Esri Symbols' AND owner:esri" 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.TemplatesGroupQuery">
            <summary>
            Gets the query used to determine which group should drive the gallery of web application templates displayed in the client application for the specified culture.
            The query specified in this setting should be used as the query string parameter for a call to the groups.
            The first group returned should be selected, and those items shared with the group should be displayed in the client’s web application template gallery (if applicable). 
            Ex: "title:'ESRI Featured Content' AND owner:esri_webapi" 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.UrlKey">
            <summary>
            Gets the URL key of the organization.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.ThumbnailPath">
            <summary>
            Gets the thumbnail image path for the organization.
            In the case of non-organizational users of ArcGIS Online or a multi-tenant portal, this will be null. 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.RotatorPanels">
            <summary>
            Gets the panels for the home page.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.HelperServices">
            <summary>
            Gets various services needed by clients.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.IPCountryCode">
            <summary>
            Gets the ISO Country Code of IP address of client (Online only - Not used in Portal). 
            </summary>
            <remarks>
            Returns '--' or Null if IP cannot be located. 
            </remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.CreationDate">
            <summary>
            Gets the date the organization was created.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.ModificationDate">
            <summary>
            Gets the date the organization was last modified.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.ThumbnailUri">
            <summary>
            Gets the URI of the thumbnail image for the organization.
            In the case of non-organizational users of ArcGIS Online or a multi-tenant portal, this will be null. 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.PortalThumbnailUri">
            <summary>
            Gets the URI of the portal thumbnail.
            In the case of multi-tenant Portals portalThumbnail and thumbnail will be different for organizational users.
            In the case of single-tenant Portals they will be logically the same.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.PortalMode">
            <summary>
            Gets the portal mode (sigletenant, multitenant).
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.Access">
            <summary>
            Determines who can view your organization as an anonymous user.
            When public, anonymous users can access the organization's custom URL.
            When private, access is restricted to only members of the organization.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.DefaultExtent">
            <summary>
            Gets the default extent to be used by the client application for the specified culture when creating new maps.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem">
            <summary>
            Represents an item (a unit of content) in the portal. 
            An item may have associated binary or textual data which is available via the <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetItemDataAsync(System.String,System.Action{System.IO.Stream,System.Exception})"/>.
            For example an item of type map package returns the actual bits corresponding to the map package via the item data resource.
            </summary>
            <remarks>
            <para>
            ArcGISPortal Class is the gateway to build applications with Esri's cloud infrastructure of ArcGIS Online or ArcGIS Portal. 
            ArcGIS Portal is software technology from Esri that customers can deploy either on premise or in the cloud. ArcGIS Online 
            is Esri's Software as a Service offering that represents GIS as a Service and is implemented using the same technology as 
            ArcGIS Portal. The <b>ESRI.ArcGIS.Client.Portal</b> Assembly allows application developers to work with users, groups and 
            content hosted within ArcGIS Online or within an ArcGIS Portal.
            </para>
            <para>
            An ArcGISPortalItem is an item of content in the ArcGISPortal Class. There are several ways to obtain an ArcGISPortalItem 
            via the <b>ESRI.ArcGIS.Client.Portal</b> Assembly; they include: 
            </para>
            <list type="bullet">
              <item><see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})">ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(IEnumerable&lt;String&gt;,Action&lt;IEnumerable&lt;String&gt;,Exception&gt;)</see> Method</item>
              <item><see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})">ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(IEnumerable&lt;String&gt;,Nullable&lt;Boolean&gt;,Nullable&lt;Boolean&gt;,Action&lt;IEnumerable&lt;String&gt;,Exception&gt;)</see> Method</item>
              <item><see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchBasemapGalleryAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchBaseMapGalleryAsync</see> Method</item>
              <item><see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchFeaturedItemsAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchFeaturedItemsAsync</see> Method</item>
              <item><see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchHomePageFeaturedContentAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.SearchHomePageFeaturedContentAsync</see> Method</item>
              <item><see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItemGroups.ArcGISPortalItem">ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalItemGroups.ArcGISPortalItem</see> Property</item>
              <item><see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalRating.ArcGISPortalItem">ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalRating.ArcGISPortalItem</see> Property</item>
              <item><see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo.ArcGISPortalItem">ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalSharingInfo.ArcGISPortalItem</see> Property</item>
              <item><see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.GetItemsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalUser.GetItemsAsync</see> Method</item>
              <item><see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder.GetItemsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">ESRI.ArcGIS.Client.Portal.ArcGISPortal.ArcGISPortalFolder.GetItemsAsync</see> Method</item>
            </list>
            </remarks>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.#ctor(ESRI.ArcGIS.Client.Portal.ArcGISPortal)">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem"/> class.
            </summary>
            <param name="arcGISPortal">The ArcGIS portal.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem,System.Exception})">
            <summary>
            Initializes the item objet from the specified item id.
            </summary>
            <param name="itemId">The item id.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetRelatedItemsAsync(ESRI.ArcGIS.Client.Portal.RelationshipType,System.Nullable{ESRI.ArcGIS.Client.Portal.RelationshipDirection},System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Gets all the related items of a certain relationship type for that item.
            An optional direction can be specified if the direction of the relationship is ambiguous. Otherwise the service will try to infer it.
            </summary>
            <param name="relationshipType">Type of the relationship.</param>
            <param name="relationshipDirection">The relationship direction (or null if you don't want to specify a direction so the service will try to infer it)</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetItemDataAsync(System.String,System.Action{System.IO.Stream,System.Exception})">
            <summary>
            Gets the item data.
            The data component of an item (the "item file") is used to stream the actual data represented by the item to the client. This resource is available only for the file and text item types. 
            </summary>
            <param name="outputFormat">An optional output format parameter. Only applies to Package types. 'zip' will download a package in zip format rather than the package format. </param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetCommentsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalComment},System.Exception})">
            <summary>
            Gets the comments for the item that you have access to.
            Available only to authenticated users.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetSharingInfoAsync(System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo,System.Exception})">
            <summary>
            Gets the item sharing info.
            This is accessible only to the owning user or to the administrator of the organization if the user is a member of one.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetRatingAsync(System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalRating,System.Exception})">
            <summary>
            Gets the rating given by current user, if any.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetGroupsAsync(System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalItemGroups,System.Exception})">
            <summary>
            Gets the groups the item is a part of. Only shows the groups which the calling user can access. 
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})">
            <summary>
            Shares the ArcGISPortalItem with the specified list of 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values. This 
            Method is available only to authenticated users.
            </summary>
            <remarks>
            <para>
            In order to use the ArcGISPortalItem.ShareAsync Method, a user must be logged into the ArcGIS Online or 
            ArcGIS Portal site with proper credentials. One way for a user to log into the portal site is via code 
            using the <see cref="T:ESRI.ArcGIS.Client.IdentityManager">IdentityManager</see> Class.
            </para>
            <para>
            The individual who is authenticated and logged into the portal site that desires to use the 
            ArcGISPortalItem.ShareAsync Method to establish which <b>Groups</b> (via their 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values) the 
            ArcGISPortalItem is part of MUST meet one of the following criteria:
            </para>
            <list type="bullet">
              <item>
              The authenticated user is the owner of the ArcGISPortalItem.
              </item>
              <item>
              The authenticated user is the Administrator of the Organization to which the ArcGISPortalItem belongs.
              </item>
              <item>
              The ArcGISPortalItem has its <see cref="T:ESRI.ArcGIS.Client.Portal.PortalAccess">PortalAccess</see> value 
              of <b>Public</b> and the authenticated user is the owner of the <b>Group</b>. 
              Note: the ArcGISPortalItem may not have been created/owned by the authenticated user; it is only important 
              that the ArcGISPortalItem be <b>Public</b>, no matter who created/owns the ArcGISPortalItem.</item>
              <item>
              The ArcGISPortalItem has its PortalAccess value of <b>Public</b> and the authenticated user is the 
              Administrator of the Organization to which <b>Group</b> belongs. Note: the ArcGISPortalItem may not have 
              been created/owned by the authenticated user; it is only important that the ArcGISPortalItem be <b>Public</b>, 
              no matter who created/owns the ArcGISPortalItem.
              </item>
            </list>
            <para>
            <b>NOTE:</b> Setting the first parameter (groupIds) of the ArcGISPortalItem.ShareAsync to null/Nothing 
            does not set any existing <b>Group</b> values. In other words, it does not empty the list of <b>Groups</b> 
            associated with the ArcGISPortalItem. The way to remove existing <b>Group</b> values from the 
            ArcGISPortalItem is to use the 
            <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.UnshareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})">ArcGISPortalItem.UnshareAsync</see> Method.
            </para>
            <para>
            Using this version of the ArcGISPortalItem.ShareAsync only modifies <b>Groups</b> for the PortalAccess 
            level of <b>Shared</b>. If it is desired to add or change the other PortalAccess levels for the 
            ArcGISPortalItem, consider using the other version: 
            <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})"/>.
            </para>
            </remarks>
            <param name="groupIds">The IEnumerable (aka. a collection) of <b>Group</b> Ids (obtained via 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values) that you want 
            to share the item with.</param>
            <param name="callback">
            The callback executed when the result is available. The first argument of the callback is the IEnumerable (aka. 
            a collection) of <b>Groups</b> to which the item could not be shared with.
            </param>
            <seealso cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})"/>
            <example>
            <para>
            <b>How to use:</b>
            </para>
            <para>
            Edit the Member (i.e. Global) variables in the code-behind before running this sample. You need to supply Urls for an ArcGIS Online or 
            ArcGIS Portal to get information about ArcGISPortalItems. It is required to supply the username and password for a user that can access 
            the portal. - When the application loads, click on an ArcGISPortalItem in the ListBox then specify zero or more Groups (via CheckBoxes) to 
            associate with the ArcGISPortalItem. The results from the ArcGISPortalItem.ShareAsync will be displayed in the TextBox.
            </para>
            <para>
            The XAML code in this example is used in conjunction with the code-behind (C# or VB.NET) to demonstrate
            the functionality.
            </para>
            <para>
            The following screen shot corresponds to the code example in this page.
            </para>
            <para>
            <img border="0" alt="Viewing and changing Groups for the PortalAccess of Shared on ArcGISPortalItems." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.Portal.ArcGISPortalItem.ShareAsync2.png"/>
            </para>
            <code title="Example XAML1" description="" lang="XAML">
            &lt;Grid x:Name="LayoutRoot" Background="White"&gt;
                
              &lt;!--
              Display the ArcGISPortalItems in a ListBox. The user can click on items in the ListBox and see information about 
              the ArcGISPortalItem in the other controls.
              --&gt;
              &lt;TextBlock Height="23" HorizontalAlignment="Left" Margin="2,124,0,0" Name="TextBlock1" Text="ArcGISPortalItems:" VerticalAlignment="Top" /&gt;
              &lt;ListBox Height="455" HorizontalAlignment="Left" Margin="0,145,0,0" Name="ListBox_Results" VerticalAlignment="Top" Width="384"
                       SelectionChanged="ListBox_Results_SelectionChanged"&gt;
                &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                    &lt;StackPanel Orientation="Horizontal" &gt;
                      &lt;StackPanel Orientation="Vertical"  &gt;
                        &lt;TextBlock Text="{Binding Title, StringFormat='Title: {0}'}"/&gt;
                        &lt;Image Source="{Binding ThumbnailUri}"  Stretch="None"  HorizontalAlignment="Left"/&gt;
                      &lt;/StackPanel&gt;
                    &lt;/StackPanel&gt;
                  &lt;/DataTemplate&gt;
                &lt;/ListBox.ItemTemplate&gt;
              &lt;/ListBox&gt;
              &lt;TextBox Height="318" HorizontalAlignment="Left" Margin="390,270,0,0" Name="TextBox1" VerticalAlignment="Top" Width="410" Background="Wheat" /&gt;
              
              &lt;!--
              Controls the user can manipulate to change the Groups associated with the selected ArcGISPortalItem.
              --&gt;
              &lt;CheckBox Content="Shared (aka. Groups)" Height="16" HorizontalAlignment="Left" Margin="390,125,0,0" Name="CheckBox_Shared" VerticalAlignment="Top" /&gt;
              &lt;ListBox Height="90" HorizontalAlignment="Left" Margin="390,145,0,0" Name="ListBox_GroupsOwned" VerticalAlignment="Top" Width="410" &gt;
                &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                    &lt;StackPanel&gt;
                      &lt;CheckBox IsChecked="{Binding Selected, Mode=TwoWay}" Content="{Binding Item.Title}" Tag="{Binding Item.Id}" /&gt;
                    &lt;/StackPanel&gt;
                  &lt;/DataTemplate&gt;
                &lt;/ListBox.ItemTemplate&gt;
              &lt;/ListBox&gt;
                
              &lt;!-- Display the credential information for the user specified in the code-behind Member variables. --&gt;
              &lt;TextBlock Height="22" Margin="581,126,0,0" Name="TextBlock2" VerticalAlignment="Top" Text="Current User:" HorizontalAlignment="Left" Width="73" /&gt;
              &lt;TextBlock Height="22" HorizontalAlignment="Left" Margin="660,125,0,0" Name="TextBlock_CurrentUser" VerticalAlignment="Top" Width="140" /&gt;
              
              &lt;!-- Update the Groups for the selected ArcGISPortalItem. --&gt;
              &lt;Button Content="ArcGISPortalItem.ShareAsync (ver2)" Height="23" HorizontalAlignment="Left" Margin="390,241,0,0" VerticalAlignment="Top" Width="410"
                      Name="Button_ArcGISPortalItem_ShareAsync_Ver2"  Click="Button_ArcGISPortalItem_ShareAsync_Ver1_Click"/&gt;
              
              &lt;!-- Provide the instructions on how to use the sample code. --&gt;
              &lt;TextBlock Height="95" HorizontalAlignment="Left" Name="TextBlock_Instructions" VerticalAlignment="Top" Width="788" TextWrapping="Wrap" 
               Text="Edit the Member (i.e. Global) variables in the code-behind before running this sample. You need to supply Urls for an ArcGIS Online or 
               ArcGIS Portal to get information about ArcGISPortalItems. It is required to supply the username and password for a user that can access 
               the portal. - When the application loads, click on an ArcGISPortalItem in the ListBox then specify zero or more Groups (via CheckBoxes) to 
               associate with the ArcGISPortalItem. The results from the ArcGISPortalItem.ShareAsync will be displayed in the TextBox." /&gt;
              
            &lt;/Grid&gt;
            </code>
            <code title="Example CS1" description="" lang="CS">
            public partial class MainPage : UserControl
            {
              // ==========================================================================================
              // TODO: MODIFY THE FOLLOWING MEMBER (i.e. GLOBAL) VARIABLES THAT WORK FOR YOUR ORGANIZATION!
              
              // Specify the root location of ArcGIS Online or your ArcGIS Portal for testing.
              private const string _DefaultServerUrl = "http://www.YourArcGISPortal.com/sharing/rest";
              
              // Specify the location of ArcGIS Online or your ArcGIS Portal for generating a token for accessing secured services.
              private const string _DefaultTokenUrl = "https://www.YourArcGISPortal.com/sharing/generateToken";
              
              // Specify the UserName of the account in  ArcGIS Online or your ArcGIS Portal.
              private const string _Username = "YourUserName";
              
              // Specify the Password of the account in  ArcGIS Online or your ArcGIS Portal.
              private const string _Password = "YourPassword";
              // ==========================================================================================
              
              // Other Member (aka. Global) variables used in the application. (NO NEED TO MODIFY)
              private ESRI.ArcGIS.Client.Portal.ArcGISPortal _MyArcGISPortal = new ESRI.ArcGIS.Client.Portal.ArcGISPortal() { Url = _DefaultServerUrl };
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalUser _MyArcGISPortalUser;
              private List&lt;ArcGISPortalGroupExtended&gt; _MyListOfArcGISPortalGroupExtended = new List&lt;ArcGISPortalGroupExtended&gt;();
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalItem _MyArcGISPortalItem;
              
              public MainPage()
              {
                InitializeComponent();
                
                // Create a new instance of the IdentityManager.ServerInfos collection.
                System.Collections.Generic.List&lt;ESRI.ArcGIS.Client.IdentityManager.ServerInfo&gt; myServerInfos = null;
                myServerInfos = new System.Collections.Generic.List&lt;ESRI.ArcGIS.Client.IdentityManager.ServerInfo&gt;();
                
                // Create a new instance of a single IdentityManager.ServerInfo object. Using the user supplied Member variables defined
                // above set the ServerInfo.ServerUrl and ServerInfo.TokenServiceUrl Properties.
                ESRI.ArcGIS.Client.IdentityManager.ServerInfo myServerInfo = new ESRI.ArcGIS.Client.IdentityManager.ServerInfo();
                myServerInfo.ServerUrl = _DefaultServerUrl;
                myServerInfo.TokenServiceUrl = _DefaultTokenUrl;
                
                // Add the ServerInfo object to the ServerInfos collection.
                myServerInfos.Add(myServerInfo);
                
                // Determine the location of secure server and token endpoint.
                ESRI.ArcGIS.Client.IdentityManager.Current.RegisterServers(myServerInfos);
                
                // Define the function to challenge for credentials.
                ESRI.ArcGIS.Client.IdentityManager.Current.ChallengeMethod = CALLBACK_IdentityManager_ChallengeMethod;
                
                // Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                ListBox_Results.ItemsSource = null;
                
                // Get the credential object that will be used to access secured token based services.
                ESRI.ArcGIS.Client.IdentityManager.Current.GenerateCredentialAsync(_DefaultServerUrl, _Username, _Password, CALLBACK_IdentityManager_GenerateCredentialAsync);
              }
              
              private void CALLBACK_IdentityManager_ChallengeMethod(string url, Action&lt;ESRI.ArcGIS.Client.IdentityManager.Credential, Exception&gt; callback, ESRI.ArcGIS.Client.IdentityManager.GenerateTokenOptions options)
              {
                // Activate the IdentityManager.
                callback(null, new NotImplementedException());
              }
              
              private void CALLBACK_IdentityManager_GenerateCredentialAsync(ESRI.ArcGIS.Client.IdentityManager.Credential crd, System.Exception ex)
              {
                // The callback that obtains the credential object.
                
                if (crd != null)
                {
                  // We got a valid credential user token object.
                  
                  // Add the credential user token to the IdentityManager for accessing resources. 
                  ESRI.ArcGIS.Client.IdentityManager.Current.AddCredential(crd);
                  
                  // Begin the process of accessing ArcGIS Online/ArcGIS Portal using the user specified Member variables defined above. 
                  _MyArcGISPortal.InitializeAsync(_DefaultServerUrl, CALLBACK_ArcGISPortal_InitializeAsync);
                }
                else
                {
                  // We had a problem generating the credentialed user token. Notify the user of the problem.
                  MessageBox.Show("Could not log in. Please check credentials.");
                }
              }
              
              private void CALLBACK_ArcGISPortal_InitializeAsync(ESRI.ArcGIS.Client.Portal.ArcGISPortal credential, System.Exception exception)
              {
                // The callback that establishes valid communication with ArcGIS Online/ArcGIS Portal.
                
                if (credential != null &amp;&amp; credential.CurrentUser != null)
                {
                  // We have valid credentials.
                  
                  // Set the Member variable for the ArcGISPortalUser to the user credential that was found using the IdentityManager.
                  _MyArcGISPortalUser = credential.CurrentUser;
                  
                  // Display the FullName of the credentialed user in the TextBlock.
                  TextBlock_CurrentUser.Text = string.Format(credential.CurrentUser.FullName);
                  
                  // Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                  ListBox_Results.ItemsSource = null;
                  
                  // Set the ArcGISPortal.Url to the user defined Member variable.
                  if (string.IsNullOrEmpty(_MyArcGISPortal.Url))
                  {
                    _MyArcGISPortal.Url = _DefaultServerUrl;
                  }
                  
                  // Get the ArcGISPortalItems for the credentialed user.
                  _MyArcGISPortalUser.GetItemsAsync(CALLBACK_ArcGISPortalUser_GetItemsAsync);
                  
                  // Get the Groups that an ArcGISPortalUser belongs to.
                  _MyArcGISPortalUser.GetGroupsAsync(CALLBACK_ArcGISPortalUser_GetGroupsAsync);
                }
              }
              
              private void CALLBACK_ArcGISPortalUser_GetGroupsAsync(IEnumerable&lt;ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup&gt; grps, System.Exception err)
              {
                // Add the Groups the credentialed user has to the ArcGISPortalGroupExtended collection.
                _MyListOfArcGISPortalGroupExtended.AddRange(
                  from g in grps
                  select new ArcGISPortalGroupExtended(g));
                
                // Add the ArcGISPortalGroupExtended objects to the ListBox.
                ListBox_GroupsOwned.ItemsSource = _MyListOfArcGISPortalGroupExtended;
              }
              
              private void CALLBACK_ArcGISPortalUser_GetItemsAsync(System.Collections.Generic.IEnumerable&lt;ESRI.ArcGIS.Client.Portal.ArcGISPortalItem&gt; userItems, System.Exception ex)
              {
                // Add the ArcGISPortalItems to the ListBox.
                ListBox_Results.ItemsSource = userItems;
              }
              
              private void Button_ArcGISPortalItem_ShareAsync_Ver2_Click(object sender, System.Windows.RoutedEventArgs e)
              {
                // Executes when the user clicks the Button. Changes the access level permissions for the selected ArcGISPortalItem.
                
                // Get the ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                
                // Warn the user that before they can change an access level on an ArcGISPortalItem, that they must first select it.
                if (_MyArcGISPortalItem == null)
                {
                  MessageBox.Show("Select an ArcGISPortalItem from the ListBox before trying to change access level permissions.");
                  return;
                }
                
                // Get the list of all the Groups the user can set for an ArcGISPortalItem.
                System.Collections.Generic.List&lt;string&gt; my_GroupIDs_ALL = new System.Collections.Generic.List&lt;string&gt;();
                foreach (ArcGISPortalGroupExtended myArcGISPortalGroupExtended in _MyListOfArcGISPortalGroupExtended)
                {
                  ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup myArcGISPortalGroup = myArcGISPortalGroupExtended.Item;
                  my_GroupIDs_ALL.Add(myArcGISPortalGroup.Id);
                }
                
                // Get the list of selected Groups that have been check on by the user for setting Shared (i.e. Groups) items.
                System.Collections.Generic.List&lt;string&gt; mySelectedGroupIDs = new System.Collections.Generic.List&lt;string&gt;();
                foreach (ArcGISPortalGroupExtended myArcGISPortalGroupExtended in _MyListOfArcGISPortalGroupExtended)
                {
                  if (myArcGISPortalGroupExtended.Selected)
                  {
                    ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup myArcGISPortalGroup = myArcGISPortalGroupExtended.Item;
                    mySelectedGroupIDs.Add(myArcGISPortalGroup.Id);
                  }
                }
                
                // As a precaution first unshare all Grouped Items for the PortalAccess level of Shared. We will share them again if necessary in the
                // nested call to ArcGISPortalItem.ShareAsync.
                _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, (result, err) =&gt;
                {
                  // Display any error messages if any.
                  if (err != null)
                  {
                    MessageBox.Show(err.Message);
                  }
                  
                  // Set the Groups that the ArcGISPortalItem will be shared with.
                  _MyArcGISPortalItem.ShareAsync(mySelectedGroupIDs, CALLBACK_ArcGISPortalItem_ShareAsync);
                });
              }
              
              private void CALLBACK_ArcGISPortalItem_ShareAsync(System.Collections.Generic.IEnumerable&lt;string&gt; result, System.Exception err)
              {
                // This function executes when the changing of the ArcGISPortalItem access level changes.
                
                // Display an error messages.
                if (err != null)
                {
                  MessageBox.Show(err.Message);
                }
                else
                {
                  // Get the selected ArcGISPortalItem in the ListBox.
                  _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                  
                  // Make sure we have a valid ArcGISPortalItem. 
                  if (_MyArcGISPortalItem == null)
                  {
                    return;
                  }
                  
                  // Call the ArcGISPortalItem.GetSharingInfoAsync which will update the current access level information.
                  _MyArcGISPortalItem.GetSharingInfoAsync(CALLBACK_ArcGISPortalItem_GetSharingInfoAsync);
                }
              }
              
              private void CALLBACK_ArcGISPortalItem_GetSharingInfoAsync(ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo sharinginfo, System.Exception ex)
              {
                // This function will display the access level and other information about the ArcGISPortalItem.
                
                // Display various information in the TextBox. Add more as you feel.
                System.Text.StringBuilder myStringBuilder = new System.Text.StringBuilder();
                
                ESRI.ArcGIS.Client.Portal.ArcGISPortalItem myPortalItem = sharinginfo.ArcGISPortalItem;
                myStringBuilder.Append("ArcGISPortalItem.Title = " + myPortalItem.Title + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.AvgRating: " + myPortalItem.AvgRating.ToString() + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.Type: " + myPortalItem.Type.ToString() + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.Snippet: " + myPortalItem.Snippet + Environment.NewLine);
                myStringBuilder.Append("---------------------------------------------------" + Environment.NewLine);
                
                ESRI.ArcGIS.Client.Portal.PortalAccess myPortalAccess = sharinginfo.Access;
                myStringBuilder.Append("ArcGISPortalItem.PortalAccess = " + myPortalAccess.ToString() + Environment.NewLine);
                
                System.Collections.Generic.IEnumerable&lt;string&gt; myGroupIds = sharinginfo.GroupIds;
                foreach (string oneGroupId in myGroupIds)
                {
                  myStringBuilder.Append("ArcGISPortalItem.GroupId = " + oneGroupId + Environment.NewLine);
                }
                
                TextBox1.Text = myStringBuilder.ToString();
              }
              
              private void ListBox_Results_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
              {
                // Get the currently selected ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                
                // Make sure we have a valid ArcGISPortalItem. 
                if (_MyArcGISPortalItem == null)
                {
                  return;
                }
                
                // Call the ArcGISPortalItem.GetSharingInfoAsync which will update the current access level information.
                _MyArcGISPortalItem.GetSharingInfoAsync(CALLBACK_ArcGISPortalItem_GetSharingInfoAsync);
              }
            }
            
            // A helper class to aid with setting up binding to the controls in XAML. It basically helps track the updating of the 
            // ArcGISPortalGroup with the CheckBoxes.
            public class ArcGISPortalGroupExtended : System.ComponentModel.INotifyPropertyChanged
            {
              private bool selected_Renamed;
              public bool Selected
              {
                get
                {
                  return selected_Renamed;
                }
                set
                {
                  if (selected_Renamed != value)
                  {
                    selected_Renamed = value;
                    OnPropertyChanged("Selected");
                  }
                }
              }
              
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup item_Renamed;
              public ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup Item
              {
                get
                {
                  return item_Renamed;
                }
                set
                {
                  if (item_Renamed != value)
                  {
                    item_Renamed = value;
                    OnPropertyChanged("Item");
                  }
                }
              }
              
              public ArcGISPortalGroupExtended(ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup item)
              {
                this.Item = item;
              }
            
              public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
              private void OnPropertyChanged(string property)
              {
                if (PropertyChanged != null)
                PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(property));
              }
            }
            </code>
            <code title="Example VB1" description="" lang="VB.NET">
            Partial Public Class MainPage
              Inherits UserControl
              
              ' ==========================================================================================
              ' TODO: MODIFY THE FOLLOWING MEMBER (i.e. GLOBAL) VARIABLES THAT WORK FOR YOUR ORGANIZATION!
              
              ' Specify the root location of ArcGIS Online or your ArcGIS Portal for testing.
              Private Const _DefaultServerUrl As String = "http://www.YourArcGISPortal.com/sharing/rest"
              
              ' Specify the location of ArcGIS Online or your ArcGIS Portal for generating a token for accessing secured services.
              Private Const _DefaultTokenUrl As String = "https://www.YourArcGISPortal.com/sharing/generateToken"
              
              ' Specify the UserName of the account in  ArcGIS Online or your ArcGIS Portal.
              Private Const _Username As String = "YourUserName"
              
              ' Specify the Password of the account in  ArcGIS Online or your ArcGIS Portal.
              Private Const _Password As String = "YourPassword"
              ' ==========================================================================================
              
              ' Other Member (aka. Global) variables used in the application. (NO NEED TO MODIFY)
              Private _MyArcGISPortal As New ESRI.ArcGIS.Client.Portal.ArcGISPortal() With {.Url = _DefaultServerUrl}
              Private _MyArcGISPortalUser As ESRI.ArcGIS.Client.Portal.ArcGISPortalUser
              Private _MyListOfArcGISPortalGroupExtended As New List(Of ArcGISPortalGroupExtended)()
              Private _MyArcGISPortalItem As ESRI.ArcGIS.Client.Portal.ArcGISPortalItem
              
              Public Sub New()
                
                InitializeComponent()
                
                ' Create a new instance of the IdentityManager.ServerInfos collection.
                Dim myServerInfos As System.Collections.Generic.List(Of ESRI.ArcGIS.Client.IdentityManager.ServerInfo)
                myServerInfos = New System.Collections.Generic.List(Of ESRI.ArcGIS.Client.IdentityManager.ServerInfo)
                
                ' Create a new instance of a single IdentityManager.ServerInfo object. Using the user supplied Member variables defined
                ' above set the ServerInfo.ServerUrl and ServerInfo.TokenServiceUrl Properties.
                Dim myServerInfo As ESRI.ArcGIS.Client.IdentityManager.ServerInfo = New ESRI.ArcGIS.Client.IdentityManager.ServerInfo
                myServerInfo.ServerUrl = _DefaultServerUrl
                myServerInfo.TokenServiceUrl = _DefaultTokenUrl
                
                ' Add the ServerInfo object to the ServerInfos collection.
                myServerInfos.Add(myServerInfo)
                
                ' Determine the location of secure server and token endpoint.
                ESRI.ArcGIS.Client.IdentityManager.Current.RegisterServers(myServerInfos)
                
                ' Define the function to challenge for credentials.
                ESRI.ArcGIS.Client.IdentityManager.Current.ChallengeMethod = AddressOf CALLBACK_IdentityManager_ChallengeMethod
                
                ' Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                ListBox_Results.ItemsSource = Nothing
                
                ' Get the credential object that will be used to access secured token based services.
                ESRI.ArcGIS.Client.IdentityManager.Current.GenerateCredentialAsync(_DefaultServerUrl, _Username, _Password, AddressOf CALLBACK_IdentityManager_GenerateCredentialAsync)
                
              End Sub
              
              Private Sub CALLBACK_IdentityManager_ChallengeMethod(ByVal url As String,
                                      ByVal callback As Action(Of ESRI.ArcGIS.Client.IdentityManager.Credential, Exception),
                                      ByVal options As ESRI.ArcGIS.Client.IdentityManager.GenerateTokenOptions)
                
                ' Activate the IdentityManager.
                callback(Nothing, New NotImplementedException())
                
              End Sub
              
              Private Sub CALLBACK_IdentityManager_GenerateCredentialAsync(crd As ESRI.ArcGIS.Client.IdentityManager.Credential, ex As System.Exception)
                
                ' The callback that obtains the credential object.
                
                If crd IsNot Nothing Then
                  
                  ' We got a valid credential user token object.
                  
                  ' Add the credential user token to the IdentityManager for accessing resources. 
                  ESRI.ArcGIS.Client.IdentityManager.Current.AddCredential(crd)
                  
                  ' Begin the process of accessing ArcGIS Online/ArcGIS Portal using the user specified Member variables defined above. 
                  _MyArcGISPortal.InitializeAsync(_DefaultServerUrl, AddressOf CALLBACK_ArcGISPortal_InitializeAsync)
                  
                Else
                  
                  ' We had a problem generating the credentialed user token. Notify the user of the problem.
                  MessageBox.Show("Could not log in. Please check credentials.")
                  
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortal_InitializeAsync(credential As ESRI.ArcGIS.Client.Portal.ArcGISPortal, exception As System.Exception)
                
                ' The callback that establishes valid communication with ArcGIS Online/ArcGIS Portal.
                
                If credential IsNot Nothing AndAlso credential.CurrentUser IsNot Nothing Then
                  
                  ' We have valid credentials.
                  
                  ' Set the Member variable for the ArcGISPortalUser to the user credential that was found using the IdentityManager.
                  _MyArcGISPortalUser = credential.CurrentUser
                  
                  ' Display the FullName of the credentialed user in the TextBlock.
                  TextBlock_CurrentUser.Text = String.Format(credential.CurrentUser.FullName)
                  
                  ' Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                  ListBox_Results.ItemsSource = Nothing
                  
                  ' Set the ArcGISPortal.Url to the user defined Member variable.
                  If String.IsNullOrEmpty(_MyArcGISPortal.Url) Then
                    _MyArcGISPortal.Url = _DefaultServerUrl
                  End If
                  
                  ' Get the ArcGISPortalItems for the credentialed user.
                  _MyArcGISPortalUser.GetItemsAsync(AddressOf CALLBACK_ArcGISPortalUser_GetItemsAsync)
                  
                  ' Get the Groups that an ArcGISPortalUser belongs to.
                  _MyArcGISPortalUser.GetGroupsAsync(AddressOf CALLBACK_ArcGISPortalUser_GetGroupsAsync)
                  
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalUser_GetGroupsAsync(grps As IEnumerable(Of ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup), err As System.Exception)
                
                ' Add the Groups the credentialed user has to the ArcGISPortalGroupExtended collection.
                _MyListOfArcGISPortalGroupExtended.AddRange(
                  From g In grps
                  Select New ArcGISPortalGroupExtended(g))
                
                ' Add the ArcGISPortalGroupExtended objects to the ListBox.
                ListBox_GroupsOwned.ItemsSource = _MyListOfArcGISPortalGroupExtended
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalUser_GetItemsAsync(userItems As System.Collections.Generic.IEnumerable(Of ESRI.ArcGIS.Client.Portal.ArcGISPortalItem), ex As System.Exception)
                
                ' Add the ArcGISPortalItems to the ListBox.
                ListBox_Results.ItemsSource = userItems
                
              End Sub
              
              Private Sub Button_ArcGISPortalItem_ShareAsync_Ver2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
                
                ' Executes when the user clicks the Button. Changes the access level permissions for the selected ArcGISPortalItem.
                
                ' Get the ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                
                ' Warn the user that before they can change an access level on an ArcGISPortalItem, that they must first select it.
                If _MyArcGISPortalItem Is Nothing Then
                  MessageBox.Show("Select an ArcGISPortalItem from the ListBox before trying to change access level permissions.")
                  Return
                End If
                
                ' Get the list of all the Groups the user can set for an ArcGISPortalItem.
                Dim my_GroupIDs_ALL As New System.Collections.Generic.List(Of String)
                For Each myArcGISPortalGroupExtended As ArcGISPortalGroupExtended In _MyListOfArcGISPortalGroupExtended
                  Dim myArcGISPortalGroup As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup = myArcGISPortalGroupExtended.Item
                  my_GroupIDs_ALL.Add(myArcGISPortalGroup.Id)
                Next
                
                ' Get the list of selected Groups that have been check on by the user for setting Shared (i.e. Groups) items.
                Dim mySelectedGroupIDs As New System.Collections.Generic.List(Of String)
                For Each myArcGISPortalGroupExtended As ArcGISPortalGroupExtended In _MyListOfArcGISPortalGroupExtended
                  If (myArcGISPortalGroupExtended.Selected) Then
                    Dim myArcGISPortalGroup As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup = myArcGISPortalGroupExtended.Item
                    mySelectedGroupIDs.Add(myArcGISPortalGroup.Id)
                  End If
                Next
                
                ' As a precaution first unshare all Grouped Items for the PortalAccess level of Shared. We will share them again if necessary in the
                ' nested call to ArcGISPortalItem.ShareAsync.
                _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, Sub(result, err)
                                                                  
                                                                  ' Display any error messages if any.
                                                                  If err IsNot Nothing Then
                                                                    MessageBox.Show(err.Message)
                                                                  End If
                                                                  
                                                                  ' Set the Groups that the ArcGISPortalItem will be shared with.
                                                                  _MyArcGISPortalItem.ShareAsync(mySelectedGroupIDs, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
                
                                                                  End Sub)
                                                                    
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalItem_ShareAsync(result As System.Collections.Generic.IEnumerable(Of String), err As System.Exception)
                
                ' This function executes when the changing of the ArcGISPortalItem access level changes.
                
                ' Display an error messages.
                If err IsNot Nothing Then
                  MessageBox.Show(err.Message)
                Else
                  
                  ' Get the selected ArcGISPortalItem in the ListBox.
                  _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                  
                  ' Make sure we have a valid ArcGISPortalItem. 
                  If _MyArcGISPortalItem Is Nothing Then
                    Return
                  End If
                  
                  ' Call the ArcGISPortalItem.GetSharingInfoAsync which will update the current access level information.
                  _MyArcGISPortalItem.GetSharingInfoAsync(AddressOf CALLBACK_ArcGISPortalItem_GetSharingInfoAsync)
                
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalItem_GetSharingInfoAsync(sharinginfo As ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo, ex As System.Exception)
                
                ' This function will display the access level and other information about the ArcGISPortalItem.
                
                ' Display various information in the TextBox. Add more as you feel.
                Dim myStringBuilder As New Text.StringBuilder
                
                Dim myPortalItem As ESRI.ArcGIS.Client.Portal.ArcGISPortalItem = sharinginfo.ArcGISPortalItem
                myStringBuilder.Append("ArcGISPortalItem.Title = " + myPortalItem.Title + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.AvgRating: " + myPortalItem.AvgRating.ToString + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.Type: " + myPortalItem.Type.ToString + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.Snippet: " + myPortalItem.Snippet + vbCrLf)
                myStringBuilder.Append("---------------------------------------------------" + vbCrLf)
                
                Dim myPortalAccess As ESRI.ArcGIS.Client.Portal.PortalAccess = sharinginfo.Access
                myStringBuilder.Append("ArcGISPortalItem.PortalAccess = " + myPortalAccess.ToString + vbCrLf)
                
                Dim myGroupIds As System.Collections.Generic.IEnumerable(Of String) = sharinginfo.GroupIds
                For Each oneGroupId As String In myGroupIds
                  myStringBuilder.Append("ArcGISPortalItem.GroupId = " + oneGroupId + vbCrLf)
                Next
                
                TextBox1.Text = myStringBuilder.ToString
                
              End Sub
              
              Private Sub ListBox_Results_SelectionChanged(sender As System.Object, e As System.Windows.Controls.SelectionChangedEventArgs)
                
                ' Get the currently selected ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                
                ' Make sure we have a valid ArcGISPortalItem. 
                If _MyArcGISPortalItem Is Nothing Then
                  Return
                End If
                
                ' Call the ArcGISPortalItem.GetSharingInfoAsync which will update current access level information.
                _MyArcGISPortalItem.GetSharingInfoAsync(AddressOf CALLBACK_ArcGISPortalItem_GetSharingInfoAsync)
                
              End Sub
              
            End Class
                
            ' A helper class to aid with setting up binding to the controls in XAML. It basically helps track the updating of the 
            ' ArcGISPortalGroup with the CheckBoxes.
            Public Class ArcGISPortalGroupExtended
              Implements System.ComponentModel.INotifyPropertyChanged
              Private selected_Renamed As Boolean
              Public Property Selected() As Boolean
                Get
                  Return selected_Renamed
                End Get
                Set(ByVal value As Boolean)
                  If selected_Renamed &lt;&gt; value Then
                    selected_Renamed = value
                    OnPropertyChanged("Selected")
                  End If
                End Set
              End Property
              
              Private item_Renamed As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup
              Public Property Item() As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup
                Get
                  Return item_Renamed
                End Get
                Set(ByVal value As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup)
                  If item_Renamed IsNot value Then
                    item_Renamed = value
                    OnPropertyChanged("Item")
                  End If
                End Set
              End Property
            
              Public Sub New(ByVal item As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup)
                Me.Item = item
              End Sub
              
              Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
              Private Sub OnPropertyChanged(ByVal [property] As String)
                RaiseEvent PropertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs([property]))
              End Sub
              
            End Class
            </code>
            </example>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})">
            <summary>
            Shares the ArcGISPortalItem with the specified list of 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values. This 
            Method is available only to authenticated users.
            </summary>
            <remarks>
            <para>
            In order to use the ArcGISPortalItem.ShareAsync Method, a user must be logged into the ArcGIS Online or 
            ArcGIS Portal site with proper credentials. One way for a user to log into the portal site is via code 
            using the <see cref="T:ESRI.ArcGIS.Client.IdentityManager">IdentityManager</see> Class.
            </para>
            <para>
            The individual who is authenticated and logged into the portal site that desires to use the 
            ArcGISPortalItem.ShareAsync Method to establish which <b>Groups</b> (via their 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values) the 
            ArcGISPortalItem is part of MUST meet one of the following criteria:
            </para>
            <list type="bullet">
              <item>
              The authenticated user is the owner of the ArcGISPortalItem.
              </item>
              <item>
              The authenticated user is the Administrator of the Organization to which the ArcGISPortalItem belongs.
              </item>
              <item>
              The ArcGISPortalItem has its <see cref="T:ESRI.ArcGIS.Client.Portal.PortalAccess">PortalAccess</see> value 
              of <b>Public</b> and the authenticated user is the owner of the <b>Group</b>. 
              Note: the ArcGISPortalItem may not have been created/owned by the authenticated user; it is only important 
              that the ArcGISPortalItem be <b>Public</b>, no matter who created/owns the ArcGISPortalItem.</item>
              <item>
              The ArcGISPortalItem has its PortalAccess value of <b>Public</b> and the authenticated user is the 
              Administrator of the Organization to which <b>Group</b> belongs. Note: the ArcGISPortalItem may not have 
              been created/owned by the authenticated user; it is only important that the ArcGISPortalItem be <b>Public</b>, 
              no matter who created/owns the ArcGISPortalItem.
              </item>
            </list>
            <para>
            This version of ArcGISPortalItem.ShareAsync has the capability of adding <b>Groups</b> for the PortalAccess 
            level of <b>Shared</b> AND also has the capability of changing the other PortalAccess levels at the same time. 
            The following set of examples should help to clarify the using of this Method. 
            </para>
            <para>
            Assume that you had an IEnumerable collection of GroupID values called <b><i>myGroupIDs</i></b>. The ArcGISPortalItem 
            object that will use this version of the ShareAsync Method is called <b><i>myArcGISPortalItem</i></b>. Furthermore, 
            you have defined a callback function called <b><i>CALLBACK_ArcGISPortalItem_ShareAsync</i></b> that will handle what 
            happens to the results of calling the ArcGISPortalIetm.ShareAsync Method. The following are several scenarios 
            you could do: 
            </para>
            <para>
            Scenario 1: Add the PortalAccess level of <b>Public</b> AND set the GroupID values for the PortalAccess level 
            of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, true, false, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, True, False, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <br/>
            Scenario 2: Add the PortalAccess level of <b>Public</b> AND not set any GroupID values for the PortalAccess 
            level of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(null, true, false, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(Nothing, True, False, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <br/>
            Scenario 3: Add the PortalAccess level of <b>Organization</b> AND set the GroupID values for the PortalAccess 
            level of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, false, true, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, False, True, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <br/>
            Scenario 4: Add the PortalAccess level of <b>Organization</b> AND not set any GroupID values for the 
            PortalAccess level of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(null, false, true, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(Nothing, False, True, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <br/>
            Scenario 5: Add the PortalAccess level of <b>Public</b> and <b>Organization</b> AND set the GroupID 
            values for the PortalAccess level of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, true, true, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, True, True, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <br/>
            Scenario 6: Add the PortalAccess level of <b>Public</b> and <b>Organization</b> AND not set any GroupID 
            values for the PortalAccess level of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(null, true, true, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(Nothing, True, True, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <br/>
            Scenario 7: Add the PortalAccess level of <b>Private</b> AND set the GroupID values for the PortalAccess 
            level of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, false, false, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(myGroupIDs, False, False, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <br/>
            Scenario 8: Add the PortalAccess level of <b>Private</b> AND not set any GroupID values for the 
            PortalAccess level of <b>Shared</b>:
            </para>
            <para>
            C#:<br/>
            myArcGISPortalItem.ShareAsync(null, false, false, CALLBACK_ArcGISPortalItem_ShareAsync);
            </para>
            <para>
            VB.NET:<br/>
            myArcGISPortalItem.ShareAsync(Nothing, False, False, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
            </para>
            <para>
            <b>NOTE:</b> Setting the first parameter (groupIds) of the ArcGISPortalItem.ShareAsync to null/Nothing 
            does not set any existing <b>Group</b> values. In other words, it does not empty the list of <b>Groups</b> 
            associated with the ArcGISPortalItem. The way to remove existing <b>Group</b> values from the 
            ArcGISPortalItem is to use the 
            <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.UnshareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})">ArcGISPortalItem.UnshareAsync</see> Method.
            </para>
            <para>
            If it is desired to only change the <b>Groups</b> for the PortalAccess level of <b>Shared</b> and not bother 
            changing the other PortalAccess levels for the ArcGISPortalItem, consider using the other version: 
            <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})"/>
            </para>
            </remarks>
            <param name="groupIds">The IEnumerable (aka. a collection) of <b>Group</b> Ids (obtained via 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values) that you want 
            to share the item with.</param>
            <param name="withEveryone">If true, this item will be shared with everyone, e.g., it will be publicly accessible. If explicitly set to false the item will be unshared from public.</param>
            <param name="withOrganization"> If true, this item will be shared with the organization. If set to false, the item will be unshared from the organization.</param>
            <param name="callback">
            The callback executed when the result is available. The first argument of the callback is the IEnumerable (aka. 
            a collection) of <b>Groups</b> to which the item could not be shared with.
            </param>
            <seealso cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})"/>
            <example>
            <para>
            <b>How to use:</b>
            </para>
            <para>
            Edit the Member (i.e. Global) variables in the code-behind before running this sample. You need to supply Urls for an ArcGIS Online or 
            ArcGIS Portal to get information about ArcGISPortalItems. It is required to supply the username and password for a user that can access 
            the portal. - When the application loads, click on an ArcGISPortalItem in the ListBox, choose the various access level CheckBoxes and 
            then click the button to update the ArcGISPortalItem. If the Shared CheckBox is chosen, you can also specify one or more Groups (via 
            CheckBoxes) to associate with the ArcGISPortalItem. The results from the ArcGISPortalItem.ShareAsync will be displayed in the TextBox.
            </para>
            <para>
            The XAML code in this example is used in conjunction with the code-behind (C# or VB.NET) to demonstrate
            the functionality.
            </para>
            <para>
            The following screen shot corresponds to the code example in this page.
            </para>
            <para>
            <img border="0" alt="Viewing and changing PortalAccess on ArcGISPortalItems." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.Portal.ArcGISPortalItem.ShareAsync1.png"/>
            </para>
            <code title="Example XAML1" description="" lang="XAML">
            &lt;Grid x:Name="LayoutRoot" Background="White"&gt;
                
              &lt;!--
              Display the ArcGISPortalItems in a ListBox. The user can click on items in the ListBox and see information about 
              the ArcGISPortalItem in the other controls.
              --&gt;
              &lt;TextBlock Height="23" HorizontalAlignment="Left" Margin="2,124,0,0" Name="TextBlock1" Text="ArcGISPortalItems:" VerticalAlignment="Top" /&gt;
              &lt;ListBox Height="455" HorizontalAlignment="Left" Margin="0,145,0,0" Name="ListBox_Results" VerticalAlignment="Top" Width="384"
                       SelectionChanged="ListBox_Results_SelectionChanged"&gt;
                &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                    &lt;StackPanel Orientation="Horizontal" &gt;
                      &lt;StackPanel Orientation="Vertical"  &gt;
                        &lt;TextBlock Text="{Binding Title, StringFormat='Title: {0}'}"/&gt;
                        &lt;Image Source="{Binding ThumbnailUri}"  Stretch="None"  HorizontalAlignment="Left"/&gt;
                      &lt;/StackPanel&gt;
                    &lt;/StackPanel&gt;
                  &lt;/DataTemplate&gt;
                &lt;/ListBox.ItemTemplate&gt;
              &lt;/ListBox&gt;
              &lt;TextBox Height="318" HorizontalAlignment="Left" Margin="390,270,0,0" Name="TextBox1" VerticalAlignment="Top" Width="410" Background="Coral" /&gt;
              
              &lt;!--
              Controls the user can manipulate to change the PortalAccess level and Groups associated with the selected ArcGISPortalItem.
              --&gt;
              &lt;CheckBox Content="Organization" Height="16" HorizontalAlignment="Left" Margin="470,101,0,0" Name="CheckBox_Organization" VerticalAlignment="Top" /&gt;
              &lt;CheckBox Content="Public" Height="16" HorizontalAlignment="Left" Margin="390,101,0,0" Name="CheckBox_Public" VerticalAlignment="Top" /&gt;
              &lt;CheckBox Content="Shared (aka. Groups)" Height="16" HorizontalAlignment="Left" Margin="390,125,0,0" Name="CheckBox_Shared" VerticalAlignment="Top" /&gt;
              &lt;ListBox Height="90" HorizontalAlignment="Left" Margin="390,145,0,0" Name="ListBox_GroupsOwned" VerticalAlignment="Top" Width="410" &gt;
                &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                    &lt;StackPanel&gt;
                      &lt;CheckBox IsChecked="{Binding Selected, Mode=TwoWay}" Content="{Binding Item.Title}" Tag="{Binding Item.Id}" /&gt;
                    &lt;/StackPanel&gt;
                  &lt;/DataTemplate&gt;
                &lt;/ListBox.ItemTemplate&gt;
              &lt;/ListBox&gt;
                
              &lt;!-- Display the credential information for the user specified in the code-behind Member variables. --&gt;
              &lt;TextBlock Height="22" Margin="581,126,0,0" Name="TextBlock2" VerticalAlignment="Top" Text="Current User:" HorizontalAlignment="Left" Width="73" /&gt;
              &lt;TextBlock Height="22" HorizontalAlignment="Left" Margin="660,125,0,0" Name="TextBlock_CurrentUser" VerticalAlignment="Top" Width="140" /&gt;
              
              &lt;!-- Update the access level and Groups for the selected ArcGISPortalItem. --&gt;
              &lt;Button Content="ArcGISPortalItem.ShareAsync (ver1)" Height="23" HorizontalAlignment="Left" Margin="390,241,0,0" VerticalAlignment="Top" Width="410"
                      Name="Button_ArcGISPortalItem_ShareAsync_Ver1"  Click="Button_ArcGISPortalItem_ShareAsync_Ver1_Click"/&gt;
              
              &lt;!-- Provide the instructions on how to use the sample code. --&gt;
              &lt;TextBlock Height="95" HorizontalAlignment="Left" Name="TextBlock_Instructions" VerticalAlignment="Top" Width="788" TextWrapping="Wrap" 
               Text="Edit the Member (i.e. Global) variables in the code-behind before running this sample. You need to supply Urls for an ArcGIS Online or 
               ArcGIS Portal to get information about ArcGISPortalItems. It is required to supply the username and password for a user that can access 
               the portal. - When the application loads, click on an ArcGISPortalItem in the ListBox, choose the various access level CheckBoxes and 
               then click the button to update the ArcGISPortalItem. If the Shared CheckBox is chosen, you can also specify one or more Groups (via 
               CheckBoxes) to associate with the ArcGISPortalItem. The results from the ArcGISPortalItem.ShareAsync will be displayed in the TextBox." /&gt;
              
            &lt;/Grid&gt;
            </code>
            <code title="Example CS1" description="" lang="CS">
            public partial class MainPage : UserControl
            {
              // ==========================================================================================
              // TODO: MODIFY THE FOLLOWING MEMBER (i.e. GLOBAL) VARIABLES THAT WORK FOR YOUR ORGANIZATION!
              
              // Specify the root location of ArcGIS Online or your ArcGIS Portal for testing.
              private const string _DefaultServerUrl = "http://www.YourArcGISPortal.com/sharing/rest";
              
              // Specify the location of ArcGIS Online or your ArcGIS Portal for generating a token for accessing secured services.
              private const string _DefaultTokenUrl = "https://www.YourArcGISPortal.com/sharing/generateToken";
              
              // Specify the UserName of the account in  ArcGIS Online or your ArcGIS Portal.
              private const string _Username = "YourUserName";
              
              // Specify the Password of the account in  ArcGIS Online or your ArcGIS Portal.
              private const string _Password = "YourPassword";
              // ==========================================================================================
              
              // Other Member (aka. Global) variables used in the application. (NO NEED TO MODIFY)
              private ESRI.ArcGIS.Client.Portal.ArcGISPortal _MyArcGISPortal = new ESRI.ArcGIS.Client.Portal.ArcGISPortal() { Url = _DefaultServerUrl };
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalUser _MyArcGISPortalUser;
              private List&lt;ArcGISPortalGroupExtended&gt; _MyListOfArcGISPortalGroupExtended = new List&lt;ArcGISPortalGroupExtended&gt;();
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalItem _MyArcGISPortalItem;
              
              public MainPage()
              {
                InitializeComponent();
                
                // Create a new instance of the IdentityManager.ServerInfos collection.
                System.Collections.Generic.List&lt;ESRI.ArcGIS.Client.IdentityManager.ServerInfo&gt; myServerInfos = null;
                myServerInfos = new System.Collections.Generic.List&lt;ESRI.ArcGIS.Client.IdentityManager.ServerInfo&gt;();
                
                // Create a new instance of a single IdentityManager.ServerInfo object. Using the user supplied Member variables defined
                // above set the ServerInfo.ServerUrl and ServerInfo.TokenServiceUrl Properties.
                ESRI.ArcGIS.Client.IdentityManager.ServerInfo myServerInfo = new ESRI.ArcGIS.Client.IdentityManager.ServerInfo();
                myServerInfo.ServerUrl = _DefaultServerUrl;
                myServerInfo.TokenServiceUrl = _DefaultTokenUrl;
                
                // Add the ServerInfo object to the ServerInfos collection.
                myServerInfos.Add(myServerInfo);
                
                // Determine the location of secure server and token endpoint.
                ESRI.ArcGIS.Client.IdentityManager.Current.RegisterServers(myServerInfos);
                
                // Define the function to challenge for credentials.
                ESRI.ArcGIS.Client.IdentityManager.Current.ChallengeMethod = CALLBACK_IdentityManager_ChallengeMethod;
                
                // Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                ListBox_Results.ItemsSource = null;
                
                // Get the credential object that will be used to access secured token based services.
                ESRI.ArcGIS.Client.IdentityManager.Current.GenerateCredentialAsync(_DefaultServerUrl, _Username, _Password, CALLBACK_IdentityManager_GenerateCredentialAsync);
              }
              
              private void CALLBACK_IdentityManager_ChallengeMethod(string url, Action&lt;ESRI.ArcGIS.Client.IdentityManager.Credential, Exception&gt; callback, ESRI.ArcGIS.Client.IdentityManager.GenerateTokenOptions options)
              {
                // Activate the IdentityManager.
                callback(null, new NotImplementedException());
              }
              
              private void CALLBACK_IdentityManager_GenerateCredentialAsync(ESRI.ArcGIS.Client.IdentityManager.Credential crd, System.Exception ex)
              {
                // The callback that obtains the credential object.
                
                if (crd != null)
                {
                  // We got a valid credential user token object.
                  
                  // Add the credential user token to the IdentityManager for accessing resources. 
                  ESRI.ArcGIS.Client.IdentityManager.Current.AddCredential(crd);
                  
                  // Begin the process of accessing ArcGIS Online/ArcGIS Portal using the user specified Member variables defined above. 
                  _MyArcGISPortal.InitializeAsync(_DefaultServerUrl, CALLBACK_ArcGISPortal_InitializeAsync);
                }
                else
                {
                  // We had a problem generating the credentialed user token. Notify the user of the problem.
                  MessageBox.Show("Could not log in. Please check credentials.");
                }
              }
              
              private void CALLBACK_ArcGISPortal_InitializeAsync(ESRI.ArcGIS.Client.Portal.ArcGISPortal credential, System.Exception exception)
              {
                // The callback that establishes valid communication with ArcGIS Online/ArcGIS Portal.
                
                if (credential != null &amp;&amp; credential.CurrentUser != null)
                {
                  // We have valid credentials.
                  
                  // Set the Member variable for the ArcGISPortalUser to the user credential that was found using the IdentityManager.
                  _MyArcGISPortalUser = credential.CurrentUser;
                  
                  // Display the FullName of the credentialed user in the TextBlock.
                  TextBlock_CurrentUser.Text = string.Format(credential.CurrentUser.FullName);
                  
                  // Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                  ListBox_Results.ItemsSource = null;
                  
                  // Set the ArcGISPortal.Url to the user defined Member variable.
                  if (string.IsNullOrEmpty(_MyArcGISPortal.Url))
                  {
                    _MyArcGISPortal.Url = _DefaultServerUrl;
                  }
                  
                  // Get the ArcGISPortalItems for the credentialed user.
                  _MyArcGISPortalUser.GetItemsAsync(CALLBACK_ArcGISPortalUser_GetItemsAsync);
                  
                  // Get the Groups that an ArcGISPortalUser belongs to.
                  _MyArcGISPortalUser.GetGroupsAsync(CALLBACK_ArcGISPortalUser_GetGroupsAsync);
                }
              }
              
              private void CALLBACK_ArcGISPortalUser_GetGroupsAsync(IEnumerable&lt;ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup&gt; grps, System.Exception err)
              {
                // Add the Groups the credentialed user has to the ArcGISPortalGroupExtended collection.
                _MyListOfArcGISPortalGroupExtended.AddRange(
                  from g in grps
                  select new ArcGISPortalGroupExtended(g));
                
                // Add the ArcGISPortalGroupExtended objects to the ListBox.
                ListBox_GroupsOwned.ItemsSource = _MyListOfArcGISPortalGroupExtended;
              }
              
              private void CALLBACK_ArcGISPortalUser_GetItemsAsync(System.Collections.Generic.IEnumerable&lt;ESRI.ArcGIS.Client.Portal.ArcGISPortalItem&gt; userItems, System.Exception ex)
              {
                // Add the ArcGISPortalItems to the ListBox.
                ListBox_Results.ItemsSource = userItems;
              }
              
              private void Button_ArcGISPortalItem_ShareAsync_Ver1_Click(object sender, System.Windows.RoutedEventArgs e)
              {
                // Executes when the user clicks the Button. Changes the access level permissions for the selected ArcGISPortalItem.
                
                // Get the ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                
                // Warn the user that before they can change an access level on an ArcGISPortalItem, that they must first select it.
                if (_MyArcGISPortalItem == null)
                {
                  MessageBox.Show("Select an ArcGISPortalItem from the ListBox before trying to change access level permissions.");
                  return;
                }
                
                // Get the list of all the Groups the user can set for an ArcGISPortalItem.
                System.Collections.Generic.List&lt;string&gt; my_GroupIDs_ALL = new System.Collections.Generic.List&lt;string&gt;();
                foreach (ArcGISPortalGroupExtended myArcGISPortalGroupExtended in _MyListOfArcGISPortalGroupExtended)
                {
                  ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup myArcGISPortalGroup = myArcGISPortalGroupExtended.Item;
                  my_GroupIDs_ALL.Add(myArcGISPortalGroup.Id);
                }
                
                // Get the list of selected Groups that have been check on by the user for setting Shared (i.e. Groups) items.
                System.Collections.Generic.List&lt;string&gt; mySelectedGroupIDs = new System.Collections.Generic.List&lt;string&gt;();
                foreach (ArcGISPortalGroupExtended myArcGISPortalGroupExtended in _MyListOfArcGISPortalGroupExtended)
                {
                  if (myArcGISPortalGroupExtended.Selected)
                  {
                    ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup myArcGISPortalGroup = myArcGISPortalGroupExtended.Item;
                    mySelectedGroupIDs.Add(myArcGISPortalGroup.Id);
                  }
                }
                
                // Do some extra work if the user wants to enable sharing with Groups.
                if (CheckBox_Shared.IsChecked == true)
                {
                  // Make sure that at least one Group is chosen.
                  if (mySelectedGroupIDs.Count == 0)
                  {
                    MessageBox.Show("At least one Group must be checked on  in order to set Shared access level permissions.");
                    return;
                  }
                }
                else
                {
                  // No Groups selected.
                  mySelectedGroupIDs = null;
                }
                
                // As a precaution first unshare all Grouped Items for the PortalAccess level of Shared. We will share them again if necessary in the
                // nested call to ArcGISPortalItem.ShareAsync.
                _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, (result, err) =&gt;
                {
                  // Display any error messages if any.
                  if (err != null)
                  {
                    MessageBox.Show(err.Message);
                  }
                  
                  // Now set the PortalAccess level to be Shared for the Groups AND specify the other PortalAccess levels as well.
                  // NOTE: if the parameters of withEveryone and withOrganization are both False, then the PortalAccess becomes Private!
                  _MyArcGISPortalItem.ShareAsync(mySelectedGroupIDs, CheckBox_Public.IsChecked, CheckBox_Organization.IsChecked, CALLBACK_ArcGISPortalItem_ShareAsync);
                });
              }
              
              private void CALLBACK_ArcGISPortalItem_ShareAsync(System.Collections.Generic.IEnumerable&lt;string&gt; result, System.Exception err)
              {
                // This function executes when the changing of the ArcGISPortalItem access level changes.
                
                // Display an error messages.
                if (err != null)
                {
                  MessageBox.Show(err.Message);
                }
                else
                {
                  // Get the selected ArcGISPortalItem in the ListBox.
                  _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                  
                  // Make sure we have a valid ArcGISPortalItem. 
                  if (_MyArcGISPortalItem == null)
                  {
                    return;
                  }
                  
                  // Call the ArcGISPortalItem.GetSharingInfoAsync which will update the current access level information.
                  _MyArcGISPortalItem.GetSharingInfoAsync(CALLBACK_ArcGISPortalItem_GetSharingInfoAsync);
                }
              }
              
              private void CALLBACK_ArcGISPortalItem_GetSharingInfoAsync(ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo sharinginfo, System.Exception ex)
              {
                // This function will display the access level and other information about the ArcGISPortalItem.
                
                // Display various information in the TextBox. Add more as you feel.
                System.Text.StringBuilder myStringBuilder = new System.Text.StringBuilder();
                
                ESRI.ArcGIS.Client.Portal.ArcGISPortalItem myPortalItem = sharinginfo.ArcGISPortalItem;
                myStringBuilder.Append("ArcGISPortalItem.Title = " + myPortalItem.Title + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.AvgRating: " + myPortalItem.AvgRating.ToString() + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.Type: " + myPortalItem.Type.ToString() + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.Snippet: " + myPortalItem.Snippet + Environment.NewLine);
                myStringBuilder.Append("---------------------------------------------------" + Environment.NewLine);
                
                ESRI.ArcGIS.Client.Portal.PortalAccess myPortalAccess = sharinginfo.Access;
                myStringBuilder.Append("ArcGISPortalItem.PortalAccess = " + myPortalAccess.ToString() + Environment.NewLine);
                
                System.Collections.Generic.IEnumerable&lt;string&gt; myGroupIds = sharinginfo.GroupIds;
                foreach (string oneGroupId in myGroupIds)
                {
                  myStringBuilder.Append("ArcGISPortalItem.GroupId = " + oneGroupId + Environment.NewLine);
                }
                
                TextBox1.Text = myStringBuilder.ToString();
              }
              
              private void ListBox_Results_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
              {
                // Get the currently selected ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                
                // Make sure we have a valid ArcGISPortalItem. 
                if (_MyArcGISPortalItem == null)
                {
                  return;
                }
                
                // Call the ArcGISPortalItem.GetSharingInfoAsync which will update the current access level information.
                _MyArcGISPortalItem.GetSharingInfoAsync(CALLBACK_ArcGISPortalItem_GetSharingInfoAsync);
              }
            }
            
            // A helper class to aid with setting up binding to the controls in XAML. It basically helps track the updating of the 
            // ArcGISPortalGroup with the CheckBoxes.
            public class ArcGISPortalGroupExtended : System.ComponentModel.INotifyPropertyChanged
            {
              private bool selected_Renamed;
              public bool Selected
              {
                get
                {
                  return selected_Renamed;
                }
                set
                {
                  if (selected_Renamed != value)
                  {
                    selected_Renamed = value;
                    OnPropertyChanged("Selected");
                  }
                }
              }
              
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup item_Renamed;
              public ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup Item
              {
                get
                {
                  return item_Renamed;
                }
                set
                {
                  if (item_Renamed != value)
                  {
                    item_Renamed = value;
                    OnPropertyChanged("Item");
                  }
                }
              }
              
              public ArcGISPortalGroupExtended(ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup item)
              {
                this.Item = item;
              }
            
              public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
              private void OnPropertyChanged(string property)
              {
                if (PropertyChanged != null)
                PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(property));
              }
            }
            </code>
            <code title="Example VB1" description="" lang="VB.NET">
            Partial Public Class MainPage
              Inherits UserControl
              
              ' ==========================================================================================
              ' TODO: MODIFY THE FOLLOWING MEMBER (i.e. GLOBAL) VARIABLES THAT WORK FOR YOUR ORGANIZATION!
              
              ' Specify the root location of ArcGIS Online or your ArcGIS Portal for testing.
              Private Const _DefaultServerUrl As String = "http://www.YourArcGISPortal.com/sharing/rest"
              
              ' Specify the location of ArcGIS Online or your ArcGIS Portal for generating a token for accessing secured services.
              Private Const _DefaultTokenUrl As String = "https://www.YourArcGISPortal.com/sharing/generateToken"
              
              ' Specify the UserName of the account in  ArcGIS Online or your ArcGIS Portal.
              Private Const _Username As String = "YourUserName"
              
              ' Specify the Password of the account in  ArcGIS Online or your ArcGIS Portal.
              Private Const _Password As String = "YourPassword"
              ' ==========================================================================================
              
              ' Other Member (aka. Global) variables used in the application. (NO NEED TO MODIFY)
              Private _MyArcGISPortal As New ESRI.ArcGIS.Client.Portal.ArcGISPortal() With {.Url = _DefaultServerUrl}
              Private _MyArcGISPortalUser As ESRI.ArcGIS.Client.Portal.ArcGISPortalUser
              Private _MyListOfArcGISPortalGroupExtended As New List(Of ArcGISPortalGroupExtended)()
              Private _MyArcGISPortalItem As ESRI.ArcGIS.Client.Portal.ArcGISPortalItem
              
              Public Sub New()
                
                InitializeComponent()
                
                ' Create a new instance of the IdentityManager.ServerInfos collection.
                Dim myServerInfos As System.Collections.Generic.List(Of ESRI.ArcGIS.Client.IdentityManager.ServerInfo)
                myServerInfos = New System.Collections.Generic.List(Of ESRI.ArcGIS.Client.IdentityManager.ServerInfo)
                
                ' Create a new instance of a single IdentityManager.ServerInfo object. Using the user supplied Member variables defined
                ' above set the ServerInfo.ServerUrl and ServerInfo.TokenServiceUrl Properties.
                Dim myServerInfo As ESRI.ArcGIS.Client.IdentityManager.ServerInfo = New ESRI.ArcGIS.Client.IdentityManager.ServerInfo
                myServerInfo.ServerUrl = _DefaultServerUrl
                myServerInfo.TokenServiceUrl = _DefaultTokenUrl
                
                ' Add the ServerInfo object to the ServerInfos collection.
                myServerInfos.Add(myServerInfo)
                
                ' Determine the location of secure server and token endpoint.
                ESRI.ArcGIS.Client.IdentityManager.Current.RegisterServers(myServerInfos)
                
                ' Define the function to challenge for credentials.
                ESRI.ArcGIS.Client.IdentityManager.Current.ChallengeMethod = AddressOf CALLBACK_IdentityManager_ChallengeMethod
                
                ' Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                ListBox_Results.ItemsSource = Nothing
                
                ' Get the credential object that will be used to access secured token based services.
                ESRI.ArcGIS.Client.IdentityManager.Current.GenerateCredentialAsync(_DefaultServerUrl, _Username, _Password, AddressOf CALLBACK_IdentityManager_GenerateCredentialAsync)
                
              End Sub
              
              Private Sub CALLBACK_IdentityManager_ChallengeMethod(ByVal url As String,
                                      ByVal callback As Action(Of ESRI.ArcGIS.Client.IdentityManager.Credential, Exception),
                                      ByVal options As ESRI.ArcGIS.Client.IdentityManager.GenerateTokenOptions)
                
                ' Activate the IdentityManager.
                callback(Nothing, New NotImplementedException())
                
              End Sub
              
              Private Sub CALLBACK_IdentityManager_GenerateCredentialAsync(crd As ESRI.ArcGIS.Client.IdentityManager.Credential, ex As System.Exception)
                
                ' The callback that obtains the credential object.
                
                If crd IsNot Nothing Then
                  
                  ' We got a valid credential user token object.
                  
                  ' Add the credential user token to the IdentityManager for accessing resources. 
                  ESRI.ArcGIS.Client.IdentityManager.Current.AddCredential(crd)
                  
                  ' Begin the process of accessing ArcGIS Online/ArcGIS Portal using the user specified Member variables defined above. 
                  _MyArcGISPortal.InitializeAsync(_DefaultServerUrl, AddressOf CALLBACK_ArcGISPortal_InitializeAsync)
                  
                Else
                  
                  ' We had a problem generating the credentialed user token. Notify the user of the problem.
                  MessageBox.Show("Could not log in. Please check credentials.")
                  
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortal_InitializeAsync(credential As ESRI.ArcGIS.Client.Portal.ArcGISPortal, exception As System.Exception)
                
                ' The callback that establishes valid communication with ArcGIS Online/ArcGIS Portal.
                
                If credential IsNot Nothing AndAlso credential.CurrentUser IsNot Nothing Then
                  
                  ' We have valid credentials.
                  
                  ' Set the Member variable for the ArcGISPortalUser to the user credential that was found using the IdentityManager.
                  _MyArcGISPortalUser = credential.CurrentUser
                  
                  ' Display the FullName of the credentialed user in the TextBlock.
                  TextBlock_CurrentUser.Text = String.Format(credential.CurrentUser.FullName)
                  
                  ' Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                  ListBox_Results.ItemsSource = Nothing
                  
                  ' Set the ArcGISPortal.Url to the user defined Member variable.
                  If String.IsNullOrEmpty(_MyArcGISPortal.Url) Then
                    _MyArcGISPortal.Url = _DefaultServerUrl
                  End If
                  
                  ' Get the ArcGISPortalItems for the credentialed user.
                  _MyArcGISPortalUser.GetItemsAsync(AddressOf CALLBACK_ArcGISPortalUser_GetItemsAsync)
                  
                  ' Get the Groups that an ArcGISPortalUser belongs to.
                  _MyArcGISPortalUser.GetGroupsAsync(AddressOf CALLBACK_ArcGISPortalUser_GetGroupsAsync)
                  
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalUser_GetGroupsAsync(grps As IEnumerable(Of ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup), err As System.Exception)
                
                ' Add the Groups the credentialed user has to the ArcGISPortalGroupExtended collection.
                _MyListOfArcGISPortalGroupExtended.AddRange(
                  From g In grps
                  Select New ArcGISPortalGroupExtended(g))
                
                ' Add the ArcGISPortalGroupExtended objects to the ListBox.
                ListBox_GroupsOwned.ItemsSource = _MyListOfArcGISPortalGroupExtended
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalUser_GetItemsAsync(userItems As System.Collections.Generic.IEnumerable(Of ESRI.ArcGIS.Client.Portal.ArcGISPortalItem), ex As System.Exception)
                
                ' Add the ArcGISPortalItems to the ListBox.
                ListBox_Results.ItemsSource = userItems
                
              End Sub
              
              Private Sub Button_ArcGISPortalItem_ShareAsync_Ver1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
                
                ' Executes when the user clicks the Button. Changes the access level permissions for the selected ArcGISPortalItem.
                
                ' Get the ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                
                ' Warn the user that before they can change an access level on an ArcGISPortalItem, that they must first select it.
                If _MyArcGISPortalItem Is Nothing Then
                  MessageBox.Show("Select an ArcGISPortalItem from the ListBox before trying to change access level permissions.")
                  Return
                End If
                
                ' Get the list of all the Groups the user can set for an ArcGISPortalItem.
                Dim my_GroupIDs_ALL As New System.Collections.Generic.List(Of String)
                For Each myArcGISPortalGroupExtended As ArcGISPortalGroupExtended In _MyListOfArcGISPortalGroupExtended
                  Dim myArcGISPortalGroup As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup = myArcGISPortalGroupExtended.Item
                  my_GroupIDs_ALL.Add(myArcGISPortalGroup.Id)
                Next
                
                ' Get the list of selected Groups that have been check on by the user for setting Shared (i.e. Groups) items.
                Dim mySelectedGroupIDs As New System.Collections.Generic.List(Of String)
                For Each myArcGISPortalGroupExtended As ArcGISPortalGroupExtended In _MyListOfArcGISPortalGroupExtended
                  If (myArcGISPortalGroupExtended.Selected) Then
                    Dim myArcGISPortalGroup As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup = myArcGISPortalGroupExtended.Item
                    mySelectedGroupIDs.Add(myArcGISPortalGroup.Id)
                  End If
                Next
                
                ' Do some extra work if the user wants to enable sharing with Groups.
                If CheckBox_Shared.IsChecked = True Then
                
                  ' Make sure that at least one Group is chosen.
                  If mySelectedGroupIDs.Count = 0 Then
                    MessageBox.Show("At least one Group must be checked on  in order to set Shared access level permissions.")
                    Return
                  End If
                  
                Else
                
                  ' No Groups selected.
                  mySelectedGroupIDs = Nothing
                  
                End If
                
                ' As a precaution first unshare all Grouped Items for the PortalAccess level of Shared. We will share them again if necessary in the
                ' nested call to ArcGISPortalItem.ShareAsync.
                _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, Sub(result, err)
                                                                  
                                                                  ' Display any error messages if any.
                                                                  If err IsNot Nothing Then
                                                                    MessageBox.Show(err.Message)
                                                                  End If
                                                                  
                                                                  ' Now set the PortalAccess level to be Shared for the Groups AND specify the other PortalAccess levels as well.
                                                                  ' NOTE: if the parameters of withEveryone and withOrganization are both False, then the PortalAccess becomes Private!
                                                                  _MyArcGISPortalItem.ShareAsync(mySelectedGroupIDs, CheckBox_Public.IsChecked, CheckBox_Organization.IsChecked, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
                
                                                                  End Sub)
                                                                    
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalItem_ShareAsync(result As System.Collections.Generic.IEnumerable(Of String), err As System.Exception)
                
                ' This function executes when the changing of the ArcGISPortalItem access level changes.
                
                ' Display an error messages.
                If err IsNot Nothing Then
                  MessageBox.Show(err.Message)
                Else
                  
                  ' Get the selected ArcGISPortalItem in the ListBox.
                  _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                  
                  ' Make sure we have a valid ArcGISPortalItem. 
                  If _MyArcGISPortalItem Is Nothing Then
                    Return
                  End If
                  
                  ' Call the ArcGISPortalItem.GetSharingInfoAsync which will update the current access level information.
                  _MyArcGISPortalItem.GetSharingInfoAsync(AddressOf CALLBACK_ArcGISPortalItem_GetSharingInfoAsync)
                
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalItem_GetSharingInfoAsync(sharinginfo As ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo, ex As System.Exception)
                
                ' This function will display the access level and other information about the ArcGISPortalItem.
                
                ' Display various information in the TextBox. Add more as you feel.
                Dim myStringBuilder As New Text.StringBuilder
                
                Dim myPortalItem As ESRI.ArcGIS.Client.Portal.ArcGISPortalItem = sharinginfo.ArcGISPortalItem
                myStringBuilder.Append("ArcGISPortalItem.Title = " + myPortalItem.Title + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.AvgRating: " + myPortalItem.AvgRating.ToString + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.Type: " + myPortalItem.Type.ToString + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.Snippet: " + myPortalItem.Snippet + vbCrLf)
                myStringBuilder.Append("---------------------------------------------------" + vbCrLf)
                
                Dim myPortalAccess As ESRI.ArcGIS.Client.Portal.PortalAccess = sharinginfo.Access
                myStringBuilder.Append("ArcGISPortalItem.PortalAccess = " + myPortalAccess.ToString + vbCrLf)
                
                Dim myGroupIds As System.Collections.Generic.IEnumerable(Of String) = sharinginfo.GroupIds
                For Each oneGroupId As String In myGroupIds
                  myStringBuilder.Append("ArcGISPortalItem.GroupId = " + oneGroupId + vbCrLf)
                Next
                
                TextBox1.Text = myStringBuilder.ToString
                
              End Sub
              
              Private Sub ListBox_Results_SelectionChanged(sender As System.Object, e As System.Windows.Controls.SelectionChangedEventArgs)
                
                ' Get the currently selected ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                
                ' Make sure we have a valid ArcGISPortalItem. 
                If _MyArcGISPortalItem Is Nothing Then
                  Return
                End If
                
                ' Call the ArcGISPortalItem.GetSharingInfoAsync which will update current access level information.
                _MyArcGISPortalItem.GetSharingInfoAsync(AddressOf CALLBACK_ArcGISPortalItem_GetSharingInfoAsync)
                
              End Sub
              
            End Class
                
            ' A helper class to aid with setting up binding to the controls in XAML. It basically helps track the updating of the 
            ' ArcGISPortalGroup with the CheckBoxes.
            Public Class ArcGISPortalGroupExtended
              Implements System.ComponentModel.INotifyPropertyChanged
              Private selected_Renamed As Boolean
              Public Property Selected() As Boolean
                Get
                  Return selected_Renamed
                End Get
                Set(ByVal value As Boolean)
                  If selected_Renamed &lt;&gt; value Then
                    selected_Renamed = value
                    OnPropertyChanged("Selected")
                  End If
                End Set
              End Property
              
              Private item_Renamed As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup
              Public Property Item() As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup
                Get
                  Return item_Renamed
                End Get
                Set(ByVal value As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup)
                  If item_Renamed IsNot value Then
                    item_Renamed = value
                    OnPropertyChanged("Item")
                  End If
                End Set
              End Property
            
              Public Sub New(ByVal item As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup)
                Me.Item = item
              End Sub
              
              Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
              Private Sub OnPropertyChanged(ByVal [property] As String)
                RaiseEvent PropertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs([property]))
              End Sub
              
            End Class
            </code>
            </example>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.UnshareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})">
            <summary>
            Stops sharing the ArcGISPortalItem with the specified list of 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values. This 
            Method is available only to authenticated users.
            </summary>
            <remarks>
            <para>
            In order to use the ArcGISPortalItem.UnshareAsync Method, a user must be logged into the ArcGIS Online or 
            ArcGIS Portal site with proper credentials. One way for a user to log into the portal site is via code 
            using the <see cref="T:ESRI.ArcGIS.Client.IdentityManager">IdentityManager</see> Class.
            </para>
            <para>
            The individual who is authenticated and logged into the portal site that desires to use the 
            ArcGISPortalItem.UnshareAsync Method to remove which <b>Groups</b> (via their 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values) the 
            ArcGISPortalItem is currently shared MUST meet one of the following criteria:
            </para>
            <list type="bullet">
              <item>
              The authenticated user is the owner of the ArcGISPortalItem.
              </item>
              <item>
              The authenticated user is the Administrator of the Organization to which the ArcGISPortalItem belongs.
              </item>
              <item>
              The ArcGISPortalItem has its <see cref="T:ESRI.ArcGIS.Client.Portal.PortalAccess">PortalAccess</see> value 
              of <b>Public</b> and the authenticated user is the owner of the <b>Group</b>. 
              Note: the ArcGISPortalItem may not have been created/owned by the authenticated user; it is only important 
              that the ArcGISPortalItem be <b>Public</b>, no matter who created/owns the ArcGISPortalItem.</item>
              <item>
              The ArcGISPortalItem has its PortalAccess value of <b>Public</b> and the authenticated user is the 
              Administrator of the Organization to which <b>Group</b> belongs. Note: the ArcGISPortalItem may not have 
              been created/owned by the authenticated user;  it is only important that the ArcGISPortalItem be <b>Public</b>, 
              no matter  who created/owns the ArcGISPortalItem.
              </item>
            </list>
            </remarks>
            <param name="groupIds">The IEnumerable (aka. a collection) of <b>Group</b> Ids (obtained via 
            <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.Id">ArcGISPortalGroup.Id</see> values) that you want 
            to stop sharing the item with.</param>
            <param name="callback">
            The callback executed when the result is available. The first argument of the callback is the IEnumerable (aka. 
            a collection) of <b>Groups</b> to which the item could not be unshared from.
            </param>
            <example>
            <para>
            <b>How to use:</b>
            </para>
            <para>
            Edit the Member (i.e. Global) variables in the code-behind before running this sample. You need to supply Urls for an ArcGIS Online or 
            ArcGIS Portal to get information about ArcGISPortalItems. It is required to supply the username and password for a user that can access 
            the portal. - When the application loads, click on an ArcGISPortalItem in the ListBox to display information in the other controls. Choose 
            the various access level radio buttons and then click the button to update the ArcGISPortalItem. The radio buttons are mutually exclusive. 
            If the Shared RadioButton is chosen, you can also specify one or more Groups (via CheckBoxes) to associate with the ArcGISPortalItem.
            </para>
            <para>
            The XAML code in this example is used in conjunction with the code-behind (C# or VB.NET) to demonstrate
            the functionality.
            </para>
            <para>
            The following screen shot corresponds to the code example in this page.
            </para>
            <para>
            <img border="0" alt="Viewing and changing PortalAccess on ArcGISPortalItems." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.Portal.ArcGISPortalItem.UnShareAsync.png"/>
            </para>
            <code title="Example XAML1" description="" lang="XAML">
            &lt;Grid x:Name="LayoutRoot" Background="White"&gt;
              
              &lt;!--
              Display the ArcGISPortalItems in a ListBox. The user can click on items in the ListBox and see information about 
              the ArcGISPortalItem in the other controls.
              --&gt;
              &lt;TextBlock Height="23" HorizontalAlignment="Left" Margin="2,124,0,0" Name="TextBlock1" Text="ArcGISPortalItems:" VerticalAlignment="Top" /&gt;
              &lt;ListBox Height="455" HorizontalAlignment="Left" Margin="0,145,0,0" Name="ListBox_Results" VerticalAlignment="Top" Width="384"
                       SelectionChanged="ListBox_Results_SelectionChanged"&gt;
                &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                    &lt;StackPanel Orientation="Horizontal"&gt;
                      &lt;StackPanel Orientation="Vertical"&gt;
                        &lt;TextBlock Text="{Binding Title, StringFormat='Title: {0}'}"/&gt;
                        &lt;Image Source="{Binding ThumbnailUri}"  Stretch="None"  HorizontalAlignment="Left"/&gt;
                      &lt;/StackPanel&gt;
                    &lt;/StackPanel&gt;
                  &lt;/DataTemplate&gt;
                &lt;/ListBox.ItemTemplate&gt;
              &lt;/ListBox&gt;
              &lt;TextBox Height="318" HorizontalAlignment="Left" Margin="390,270,0,0" Name="TextBox1" VerticalAlignment="Top" Width="410" Background="Aquamarine"  /&gt;
              
              &lt;!--
              Controls the user can manipulate to change the PortalAccess level and Groups associated with the selected ArcGISPortalItem.
              --&gt;
              &lt;RadioButton Content="Private" Height="16" HorizontalAlignment="Left" Margin="461,101,0,0" Name="RadioButton_Private" VerticalAlignment="Top"
                           Click="RadioButton_XXX_Click"/&gt;
              &lt;RadioButton Content="Organization" Height="16" HorizontalAlignment="Left" Margin="526,101,0,0" Name="RadioButton_Organization" VerticalAlignment="Top" 
                           Click="RadioButton_XXX_Click"/&gt;
              &lt;RadioButton Content="Public" Height="16" HorizontalAlignment="Left" Margin="390,101,0,0" Name="RadioButton_Public" VerticalAlignment="Top" 
                           Click="RadioButton_XXX_Click"/&gt;
              &lt;RadioButton Content="Shared (aka. Groups)" Height="16" HorizontalAlignment="Left" Margin="390,125,0,0" Name="RadioButton_Shared" VerticalAlignment="Top" 
                           Click="RadioButton_Shared_Click"/&gt;
              &lt;ListBox Height="90" HorizontalAlignment="Left" Margin="390,145,0,0" Name="ListBox_GroupsOwned" VerticalAlignment="Top" Width="410" &gt;
                &lt;ListBox.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                    &lt;StackPanel&gt;
                      &lt;CheckBox IsChecked="{Binding Selected, Mode=TwoWay}" Content="{Binding Item.Title}" Tag="{Binding Item.Id}" /&gt;
                    &lt;/StackPanel&gt;
                  &lt;/DataTemplate&gt;
                &lt;/ListBox.ItemTemplate&gt;
              &lt;/ListBox&gt;
                
              &lt;!-- Display the credential information for the user specified in the code-behind Member variables. --&gt;
              &lt;TextBlock Height="22" Margin="581,126,0,0" Name="TextBlock2" VerticalAlignment="Top" Text="Current User:" HorizontalAlignment="Left" Width="73" /&gt;
              &lt;TextBlock Height="22" HorizontalAlignment="Left" Margin="660,125,0,0" Name="TextBlock_CurrentUser" VerticalAlignment="Top" Width="140" /&gt;
              
              &lt;!-- Update the access level and Groups for the selected ArcGISPortalItem. --&gt;
              &lt;Button Content="ArcGISPortalItem.ShareAsync (ver1)" Height="23" HorizontalAlignment="Left" Margin="390,241,0,0" VerticalAlignment="Top" Width="410"
                      Name="Button_ArcGISPortalItem_ShareAsync_Ver1"  Click="Button_ArcGISPortalItem_ShareAsync_Ver1_Click"/&gt;
              
              &lt;!-- Provide the instructions on how to use the sample code. --&gt;
              &lt;TextBlock Height="95" HorizontalAlignment="Left" Name="TextBlock_Instructions" VerticalAlignment="Top" Width="788" TextWrapping="Wrap" 
               Text="Edit the Member (i.e. Global) variables in the code-behind before running this sample. You need to supply Urls for an ArcGIS Online or
               ArcGIS Portal to get information about ArcGISPortalItems. It is required to supply the username and password for a user that can access 
               the portal. - When the application loads, click on an ArcGISPortalItem in the ListBox to display information in the other controls. Choose 
               the various access level radio buttons and then click the button to update the ArcGISPortalItem. The radio buttons are mutually exclusive. 
               If the Shared RadioButton is chosen, you can also specify one or more Groups (via CheckBoxes) to associate with the ArcGISPortalItem." /&gt;
               
            &lt;/Grid&gt;
            </code>
            <code title="Example CS1" description="" lang="CS">
            public partial class MainPage : UserControl
            {
              // ==========================================================================================
              // TODO: MODIFY THE FOLLOWING MEMBER (i.e. GLOBAL) VARIABLES THAT WORK FOR YOUR ORGANIZATION!
              
              // Specify the root location of ArcGIS Online or your ArcGIS Portal for testing.
              private const string _DefaultServerUrl = "http://www.YourArcGISPortal.com/sharing/rest";
              
              // Specify the location of ArcGIS Online or your ArcGIS Portal for generating a token for accessing secured services.
              private const string _DefaultTokenUrl = "https://www.YourArcGISPortal.com/sharing/generateToken";
              
              // Specify the UserName of the account in  ArcGIS Online or your ArcGIS Portal.
              private const string _Username = "YourUserName";
              
              // Specify the Password of the account in  ArcGIS Online or your ArcGIS Portal.
              private const string _Password = "YourPassword";
              // ==========================================================================================
              
              
              // Other Member (aka. Global) variables used in the application. (NO NEED TO MODIFY)
              private ESRI.ArcGIS.Client.Portal.ArcGISPortal _MyArcGISPortal = new ESRI.ArcGIS.Client.Portal.ArcGISPortal() { Url = _DefaultServerUrl };
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalUser _MyArcGISPortalUser;
              private List&lt;ArcGISPortalGroupExtended&gt; _MyListOfArcGISPortalGroupExtended = new List&lt;ArcGISPortalGroupExtended&gt;();
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalItem _MyArcGISPortalItem;
              
              public MainPage()
              {
                InitializeComponent();
                
                // Create a new instance of the IdentityManager.ServerInfos collection.
                System.Collections.Generic.List&lt;ESRI.ArcGIS.Client.IdentityManager.ServerInfo&gt; myServerInfos = null;
                myServerInfos = new System.Collections.Generic.List&lt;ESRI.ArcGIS.Client.IdentityManager.ServerInfo&gt;();
                
                // Create a new instance of a single IdentityManager.ServerInfo object. Using the user supplied Member variables defined
                // above set the ServerInfo.ServerUrl and ServerInfo.TokenServiceUrl Properties.
                ESRI.ArcGIS.Client.IdentityManager.ServerInfo myServerInfo = new ESRI.ArcGIS.Client.IdentityManager.ServerInfo();
                myServerInfo.ServerUrl = _DefaultServerUrl;
                myServerInfo.TokenServiceUrl = _DefaultTokenUrl;
                
                // Add the ServerInfo object to the ServerInfos collection.
                myServerInfos.Add(myServerInfo);
                
                // Determine the location of secure server and token endpoint.
                ESRI.ArcGIS.Client.IdentityManager.Current.RegisterServers(myServerInfos);
                
                // Define the function to challenge for credentials.
                ESRI.ArcGIS.Client.IdentityManager.Current.ChallengeMethod = CALLBACK_IdentityManager_ChallengeMethod;
                
                // Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                ListBox_Results.ItemsSource = null;
                
                // Disable being able to select Groups. Once the user has selected the RadioButton_Shared they can check on various Group CheckBoxes.
                ListBox_GroupsOwned.IsEnabled = false;
                
                // Get the credential object that will be used to access secured token based services.
                ESRI.ArcGIS.Client.IdentityManager.Current.GenerateCredentialAsync(_DefaultServerUrl, _Username, _Password, CALLBACK_IdentityManager_GenerateCredentialAsync);
              }
                
              private void CALLBACK_IdentityManager_ChallengeMethod(string url, Action&lt;ESRI.ArcGIS.Client.IdentityManager.Credential, Exception&gt; callback, ESRI.ArcGIS.Client.IdentityManager.GenerateTokenOptions options)
              {
                // Activate the IdentityManager.
                callback(null, new NotImplementedException());
              }
                
              private void CALLBACK_IdentityManager_GenerateCredentialAsync(ESRI.ArcGIS.Client.IdentityManager.Credential crd, System.Exception ex)
              {
                // The callback that obtains the credential object.
                
                if (crd != null)
                {
                  // We got a valid credential user token object.
                
                  // Add the credential user token to the IdentityManager for accessing resources. 
                  ESRI.ArcGIS.Client.IdentityManager.Current.AddCredential(crd);
                  
                  // Begin the process of accessing ArcGIS Online/ArcGIS Portal using the user specified Member variables defined above. 
                  _MyArcGISPortal.InitializeAsync(_DefaultServerUrl, CALLBACK_ArcGISPortal_InitializeAsync);
                }
                else
                {
                  // We had a problem generating the credentialed user token. Notify the user of the problem.
                  MessageBox.Show("Could not log in. Please check credentials.");
                }
              }
                
              private void CALLBACK_ArcGISPortal_InitializeAsync(ESRI.ArcGIS.Client.Portal.ArcGISPortal credential, System.Exception exception)
              {
                // The callback that establishes valid communication with ArcGIS Online/ArcGIS Portal.
                
                if (credential != null &amp;&amp; credential.CurrentUser != null)
                {
                  // We have valid credentials.
                  
                  // Set the Member variable for the ArcGISPortalUser to the user credential that was found using the IdentityManager.
                  _MyArcGISPortalUser = credential.CurrentUser;
                  
                  // Display the FullName of the credentialed user in the TextBlock.
                  TextBlock_CurrentUser.Text = string.Format(credential.CurrentUser.FullName);
                  
                  // Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                  ListBox_Results.ItemsSource = null;
                  
                  // Set the ArcGISPortal.Url to the user defined Member variable.
                  if (string.IsNullOrEmpty(_MyArcGISPortal.Url))
                  {
                    _MyArcGISPortal.Url = _DefaultServerUrl;
                  }
                  
                 // Get the ArcGISPortalItems for the credentialed user.
                _MyArcGISPortalUser.GetItemsAsync(CALLBACK_ArcGISPortalUser_GetItemsAsync);
                
                // Get the Groups that an ArcGISPortalUser belongs to.
                _MyArcGISPortalUser.GetGroupsAsync(CALLBACK_ArcGISPortalUser_GetGroupsAsync);
                }
              }
              
              private void CALLBACK_ArcGISPortalUser_GetGroupsAsync(IEnumerable&lt;ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup&gt; grps, System.Exception err)
              {
                // Add the Groups the credentialed user has to the ArcGISPortalGroupExtended collection.
                _MyListOfArcGISPortalGroupExtended.AddRange(
                  from g in grps
                  select new ArcGISPortalGroupExtended(g));
                
                // Add the ArcGISPortalGroupExtended objects to the ListBox.
                ListBox_GroupsOwned.ItemsSource = _MyListOfArcGISPortalGroupExtended;
              }
              
              private void CALLBACK_ArcGISPortalUser_GetItemsAsync(System.Collections.Generic.IEnumerable&lt;ESRI.ArcGIS.Client.Portal.ArcGISPortalItem&gt; userItems, System.Exception ex)
              {
                // Add the ArcGISPortalItems to the ListBox.
                ListBox_Results.ItemsSource = userItems;
              }
              
              private void Button_ArcGISPortalItem_ShareAsync_Ver1_Click(object sender, System.Windows.RoutedEventArgs e)
              {
                // Executes when the user clicks the Button. Changes the access level permissions for the selected ArcGISPortalItem.
                
                // Get the ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                
                // Warn the user that before they can change an access level on an ArcGISPortalItem, that they must first select it.
                if (_MyArcGISPortalItem == null)
                {
                  MessageBox.Show("Select an ArcGISPortalItem from the ListBox before trying to change access level permissions.");
                  return;
                }
                
                // Get the list of all the Groups the user can set for an ArcGISPortalItem.
                System.Collections.Generic.List&lt;string&gt; my_GroupIDs_ALL = new System.Collections.Generic.List&lt;string&gt;();
                foreach (ArcGISPortalGroupExtended myArcGISPortalGroupExtended in _MyListOfArcGISPortalGroupExtended)
                {
                  ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup myArcGISPortalGroup = myArcGISPortalGroupExtended.Item;
                  my_GroupIDs_ALL.Add(myArcGISPortalGroup.Id);
                }
                
                //------------------------------------------
                if (RadioButton_Public.IsChecked == true)
                {
                  // The user has chosen to make the ArcGISPortalItem Public. In this code example we will make sure that all other PortalAccess
                  // levels are turned off and clear out any Groups to which the ArcGISPortalItem may belong to.
                  // NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, (result, err) =&gt;
                  {
                    // Display any error messages if any.
                    if (err != null)
                    {
                      MessageBox.Show(err.Message);
                    }
                    
                    // Now set the PortalAccess level for everyone (i.e. Public).
                    _MyArcGISPortalItem.ShareAsync(null, true, false, CALLBACK_ArcGISPortalItem_ShareAsync);
                  });
                  
                }
                //------------------------------------------
                if (RadioButton_Organization.IsChecked == true)
                {
                  // The user has chosen to make the ArcGISPortalItem open to the Organization. In this code example we will make sure that all other 
                  // PortalAccess levels are turned off and clear out any Groups to which the ArcGISPortalItem may belong to.
                  // NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, (result, err) =&gt;
                  {
                    // Display any error messages if any.
                    if (err != null)
                    {
                      MessageBox.Show(err.Message);
                    }
                    
                    // Now set the PortalAccess level for all users in the Organization.
                    _MyArcGISPortalItem.ShareAsync(null, false, true, CALLBACK_ArcGISPortalItem_ShareAsync);
                  });
                }
                //------------------------------------------
                if (RadioButton_Private.IsChecked == true)
                {
                  // The user has chosen to keep the ArcGISPortalItem Private (i.e. just to the credentialed user). In this code example we will make 
                  // sure that all other PortalAccess levels are turned off and clear out any Groups to which the ArcGISPortalItem may belong to.
                  // NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, (result, err) =&gt;
                  {
                    // Display any error messages if any.
                    if (err != null)
                    {
                      MessageBox.Show(err.Message);
                    }
                
                    // Now set the PortalAccess level to be just the credentialed user (i.e. Private).
                    _MyArcGISPortalItem.ShareAsync(null, false, false, CALLBACK_ArcGISPortalItem_ShareAsync);
                  });
                }
                //------------------------------------------
                if (RadioButton_Shared.IsChecked == true)
                {
                  // The user has chosen to share the ArcGISPortalItem with one or more Groups. Get the selected Groups from the CheckBoxes
                  // that were checked On and put the Group ID values in a List.
                  // NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  
                  System.Collections.Generic.List&lt;string&gt; mySelectedGroupIDs = new System.Collections.Generic.List&lt;string&gt;();
                  foreach (ArcGISPortalGroupExtended myArcGISPortalGroupExtended in _MyListOfArcGISPortalGroupExtended)
                  {
                    if (myArcGISPortalGroupExtended.Selected)
                    {
                      ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup myArcGISPortalGroup = myArcGISPortalGroupExtended.Item;
                      mySelectedGroupIDs.Add(myArcGISPortalGroup.Id);
                    }
                  }
                  
                  // Make sure that at least one Group is chosen.
                  if (mySelectedGroupIDs.Count == 0)
                  {
                    MessageBox.Show("At least one Group must be checked on  in order to set Shared access level permissions.");
                    return;
                  }
                  
                  // Now set the PortalAccess level to be Shared and specify which Groups will have access to the ArcGISPortalItem.
                  _MyArcGISPortalItem.ShareAsync(mySelectedGroupIDs, false, false, CALLBACK_ArcGISPortalItem_ShareAsync);
                }
                //------------------------------------------
              }
              
              private void CALLBACK_ArcGISPortalItem_ShareAsync(System.Collections.Generic.IEnumerable&lt;string&gt; result, System.Exception err)
              {
                // This function executes when the changing of the ArcGISPortalItem access level changes.
                
                // Display an error messages.
                if (err != null)
                {
                  MessageBox.Show(err.Message);
                }
                else
                {
                  
                  // Get the selected ArcGISPortalItem in the ListBox.
                  _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                  
                  // Make sure we have a valid ArcGISPortalItem. 
                  if (_MyArcGISPortalItem == null)
                  {
                    return;
                  }
                  
                  // Call the ArcGISPortalItem.GetSharingInfoAsync which will update the RadioButton and CheckBox controls with the most
                  // current access level information.
                  _MyArcGISPortalItem.GetSharingInfoAsync(CALLBACK_ArcGISPortalItem_GetSharingInfoAsync);
                }
              }
              
              private void CALLBACK_ArcGISPortalItem_GetSharingInfoAsync(ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo sharinginfo, System.Exception ex)
              {
                // This function will display the access level and other information about the ArcGISPortalItem.
                
                // -----------------------------------
                // Display various information in the TextBox. Add more as you feel.
                
                System.Text.StringBuilder myStringBuilder = new System.Text.StringBuilder();
                
                ESRI.ArcGIS.Client.Portal.ArcGISPortalItem myPortalItem = sharinginfo.ArcGISPortalItem;
                myStringBuilder.Append("ArcGISPortalItem.Title = " + myPortalItem.Title + Environment.NewLine);
                
                myStringBuilder.Append("ArcGISPortalItem.AvgRating: " + myPortalItem.AvgRating.ToString() + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.Type: " + myPortalItem.Type.ToString() + Environment.NewLine);
                myStringBuilder.Append("ArcGISPortalItem.Snippet: " + myPortalItem.Snippet + Environment.NewLine);
                
                myStringBuilder.Append("---------------------------------------------------" + Environment.NewLine);
                
                ESRI.ArcGIS.Client.Portal.PortalAccess myPortalAccess = sharinginfo.Access;
                myStringBuilder.Append("ArcGISPortalItem.PortalAccess = " + myPortalAccess.ToString() + Environment.NewLine);
                
                System.Collections.Generic.IEnumerable&lt;string&gt; myGroupIds = sharinginfo.GroupIds;
                foreach (string oneGroupId in myGroupIds)
                {
                  myStringBuilder.Append("ArcGISPortalItem.GroupId = " + oneGroupId + Environment.NewLine);
                }
                
                TextBox1.Text = myStringBuilder.ToString();
                
                // -----------------------------------
                
                // Update the RadioButtons that represent the ArcGISPortalItem PortalAccess Enumerations. Also check on any
                // Group CheckBoxes that are available for the Shared PortalAccess level.
                
                if (_MyArcGISPortalItem.Owner != null &amp;&amp; _MyArcGISPortalItem.Owner == _MyArcGISPortalUser.UserName)
                {
                  if (sharinginfo.Access == ESRI.ArcGIS.Client.Portal.PortalAccess.Public)
                  {
                    // The access to the ArcGISPortalItem is Public.
                    RadioButton_Public.IsChecked = true;
                    
                    // Uncheck all of the Shared (i.e. Group) CheckBoxes
                    foreach (var m in _MyListOfArcGISPortalGroupExtended)
                    {
                      m.Selected = false;
                    }
                  }
                  
                  if (sharinginfo.Access == ESRI.ArcGIS.Client.Portal.PortalAccess.Organization)
                  {
                    // The access to the ArcGISPortalItem is the Organization.
                    RadioButton_Organization.IsChecked = true;
                    
                    // Uncheck all of the Shared (i.e. Group) CheckBoxes
                    foreach (var m in _MyListOfArcGISPortalGroupExtended)
                    {
                      m.Selected = false;
                    }
                  }
                  
                  if (sharinginfo.Access == ESRI.ArcGIS.Client.Portal.PortalAccess.Private)
                  {
                    // The access to the ArcGISPortalItem is Private.
                    RadioButton_Private.IsChecked = true;
                    
                    // Uncheck all of the Shared (i.e. Group) CheckBoxes
                    foreach (var m in _MyListOfArcGISPortalGroupExtended)
                    {
                      m.Selected = false;
                    }
                  }
                  
                  if (sharinginfo.Access == ESRI.ArcGIS.Client.Portal.PortalAccess.Shared)
                  {
                    // The access to the ArcGISPortalItem is Shared (i.e. there are Groups).
                    RadioButton_Shared.IsChecked = true;
                    
                    // The user can check on various Group CheckBoxes.
                    ListBox_GroupsOwned.IsEnabled = true;
                    
                    // Check on the Group CheckBoxes that are part of the Shared access.
                    if (sharinginfo.GroupIds.Count() != 0)
                    {
                      var x = from g in _MyListOfArcGISPortalGroupExtended
                        where sharinginfo.GroupIds.Any((r) =&gt; r == g.Item.Id)
                        select g;
                      foreach (var m in x)
                      {
                        m.Selected = true;
                      }
                    }
                    else
                    {
                      foreach (var m in _MyListOfArcGISPortalGroupExtended)
                      {
                        m.Selected = false;
                      }
                    }
                  }
                }
              }
              
              private void RadioButton_XXX_Click(object sender, System.Windows.RoutedEventArgs e)
              {
                // The user clicked either the Public, Organization or Private RadioButtons.
                
                // Unselect all of the Group CheckBoxes.
                if (RadioButton_Public.IsChecked == true)
                {
                  foreach (var m in _MyListOfArcGISPortalGroupExtended)
                  {
                    m.Selected = false;
                  }
                }
                
                // Disable being able to turn on Group CheckBoxes.
                ListBox_GroupsOwned.IsEnabled = false;
              }
              
              private void RadioButton_Shared_Click(object sender, System.Windows.RoutedEventArgs e)
              {
                // The user selected the Share (i.e. Group) RadioButton.
                
                // Enable the user to be able to check on various Groups.
                ListBox_GroupsOwned.IsEnabled = true;
              }
              
              private void ListBox_Results_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
              {
                // Disable being able to select Groups. Once the user has selected the RadioButton_Shared they can check on various Group CheckBoxes.
                ListBox_GroupsOwned.IsEnabled = false;
                
                // Get the currently selected ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = ListBox_Results.SelectedItem as ESRI.ArcGIS.Client.Portal.ArcGISPortalItem;
                
                // Make sure we have a valid ArcGISPortalItem. 
                if (_MyArcGISPortalItem == null)
                {
                  return;
                }
                
                // Call the ArcGISPortalItem.GetSharingInfoAsync which will update the RadioButton and CheckBox controls with the most
                // current access level information.
                _MyArcGISPortalItem.GetSharingInfoAsync(CALLBACK_ArcGISPortalItem_GetSharingInfoAsync);
              }
            }
              
              
            // A helper class to aid with setting up binding to the controls in XAML. It basically helps track the updating of the 
            // ArcGISPortalGroup with the CheckBoxes.
            public class ArcGISPortalGroupExtended : System.ComponentModel.INotifyPropertyChanged
            {
              private bool selected_Renamed;
              public bool Selected
              {
                get
                {
                  return selected_Renamed;
                }
                set
                {
                  if (selected_Renamed != value)
                  {
                    selected_Renamed = value;
                    OnPropertyChanged("Selected");
                  }
                }
              }
              
              private ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup item_Renamed;
              public ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup Item
              {
                get
                {
                  return item_Renamed;
                }
                set
                {
                  if (item_Renamed != value)
                  {
                    item_Renamed = value;
                    OnPropertyChanged("Item");
                  }
                }
              }
              
              public ArcGISPortalGroupExtended(ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup item)
              {
                this.Item = item;
              }
              
              public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
              private void OnPropertyChanged(string property)
              {
                if (PropertyChanged != null)
                PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(property));
              }
            }
            </code>
            <code title="Example VB1" description="" lang="VB.NET">
            Partial Public Class MainPage
              Inherits UserControl
              
              ' ==========================================================================================
              ' TODO: MODIFY THE FOLLOWING MEMBER (i.e. GLOBAL) VARIABLES THAT WORK FOR YOUR ORGANIZATION!
              
              ' Specify the root location of ArcGIS Online or your ArcGIS Portal for testing.
              Private Const _DefaultServerUrl As String = "http://www.YourArcGISPortal.com/sharing/rest"
              
              ' Specify the location of ArcGIS Online or your ArcGIS Portal for generating a token for accessing secured services.
              Private Const _DefaultTokenUrl As String = "https://www.YourArcGISPortal.com/sharing/generateToken"
              
              ' Specify the UserName of the account in  ArcGIS Online or your ArcGIS Portal.
              Private Const _Username As String = "YourUserName"
              
              ' Specify the Password of the account in  ArcGIS Online or your ArcGIS Portal.
              Private Const _Password As String = "YourPassword"
              ' ==========================================================================================
              
              ' Other Member (aka. Global) variables used in the application. (NO NEED TO MODIFY)
              Private _MyArcGISPortal As New ESRI.ArcGIS.Client.Portal.ArcGISPortal() With {.Url = _DefaultServerUrl}
              Private _MyArcGISPortalUser As ESRI.ArcGIS.Client.Portal.ArcGISPortalUser
              Private _MyListOfArcGISPortalGroupExtended As New List(Of ArcGISPortalGroupExtended)()
              Private _MyArcGISPortalItem As ESRI.ArcGIS.Client.Portal.ArcGISPortalItem
              
              Public Sub New()
                
                InitializeComponent()
                
                ' Create a new instance of the IdentityManager.ServerInfos collection.
                Dim myServerInfos As System.Collections.Generic.List(Of ESRI.ArcGIS.Client.IdentityManager.ServerInfo)
                myServerInfos = New System.Collections.Generic.List(Of ESRI.ArcGIS.Client.IdentityManager.ServerInfo)
                
                ' Create a new instance of a single IdentityManager.ServerInfo object. Using the user supplied Member variables defined
                ' above set the ServerInfo.ServerUrl and ServerInfo.TokenServiceUrl Properties.
                Dim myServerInfo As ESRI.ArcGIS.Client.IdentityManager.ServerInfo = New ESRI.ArcGIS.Client.IdentityManager.ServerInfo
                myServerInfo.ServerUrl = _DefaultServerUrl
                myServerInfo.TokenServiceUrl = _DefaultTokenUrl
                
                ' Add the ServerInfo object to the ServerInfos collection.
                myServerInfos.Add(myServerInfo)
                
                ' Determine the location of secure server and token endpoint.
                ESRI.ArcGIS.Client.IdentityManager.Current.RegisterServers(myServerInfos)
                
                ' Define the function to challenge for credentials.
                ESRI.ArcGIS.Client.IdentityManager.Current.ChallengeMethod = AddressOf CALLBACK_IdentityManager_ChallengeMethod
                
                ' Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                ListBox_Results.ItemsSource = Nothing
                
                ' Disable being able to select Groups. Once the user has selected the RadioButton_Shared they can check on various Group CheckBoxes.
                ListBox_GroupsOwned.IsEnabled = False
                
                ' Get the credential object that will be used to access secured token based services.
                ESRI.ArcGIS.Client.IdentityManager.Current.GenerateCredentialAsync(_DefaultServerUrl, _Username, _Password, AddressOf CALLBACK_IdentityManager_GenerateCredentialAsync)
                
              End Sub
              
              Private Sub CALLBACK_IdentityManager_ChallengeMethod(ByVal url As String,
                                    ByVal callback As Action(Of ESRI.ArcGIS.Client.IdentityManager.Credential, Exception),
                                    ByVal options As ESRI.ArcGIS.Client.IdentityManager.GenerateTokenOptions)
                
                ' Activate the IdentityManager.
                callback(Nothing, New NotImplementedException())
                
              End Sub
              
              Private Sub CALLBACK_IdentityManager_GenerateCredentialAsync(crd As ESRI.ArcGIS.Client.IdentityManager.Credential, ex As System.Exception)
                
                ' The callback that obtains the credential object.
                
                If crd IsNot Nothing Then
                  
                  ' We got a valid credential user token object.
                  
                  ' Add the credential user token to the IdentityManager for accessing resources. 
                  ESRI.ArcGIS.Client.IdentityManager.Current.AddCredential(crd)
                  
                  ' Begin the process of accessing ArcGIS Online/ArcGIS Portal using the user specified Member variables defined above. 
                  _MyArcGISPortal.InitializeAsync(_DefaultServerUrl, AddressOf CALLBACK_ArcGISPortal_InitializeAsync)
                  
                Else
                  
                  ' We had a problem generating the credentialed user token. Notify the user of the problem.
                  MessageBox.Show("Could not log in. Please check credentials.")
                  
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortal_InitializeAsync(credential As ESRI.ArcGIS.Client.Portal.ArcGISPortal, exception As System.Exception)
                
                ' The callback that establishes valid communication with ArcGIS Online/ArcGIS Portal.
                
                If credential IsNot Nothing AndAlso credential.CurrentUser IsNot Nothing Then
                  
                  ' We have valid credentials.
                  
                  ' Set the Member variable for the ArcGISPortalUser to the user credential that was found using the IdentityManager.
                  _MyArcGISPortalUser = credential.CurrentUser
                  
                  ' Display the FullName of the credentialed user in the TextBlock.
                  TextBlock_CurrentUser.Text = String.Format(credential.CurrentUser.FullName)
                  
                  ' Clear out any existing ArcGISPortalGroupExtended objects from the ListBox.
                  ListBox_Results.ItemsSource = Nothing
                  
                  ' Set the ArcGISPortal.Url to the user defined Member variable.
                  If String.IsNullOrEmpty(_MyArcGISPortal.Url) Then
                    _MyArcGISPortal.Url = _DefaultServerUrl
                  End If
                  
                  ' Get the ArcGISPortalItems for the credentialed user.
                  _MyArcGISPortalUser.GetItemsAsync(AddressOf CALLBACK_ArcGISPortalUser_GetItemsAsync)
                  
                  ' Get the Groups that an ArcGISPortalUser belongs to.
                  _MyArcGISPortalUser.GetGroupsAsync(AddressOf CALLBACK_ArcGISPortalUser_GetGroupsAsync)
                  
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalUser_GetGroupsAsync(grps As IEnumerable(Of ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup), err As System.Exception)
                
                ' Add the Groups the credentialed user has to the ArcGISPortalGroupExtended collection.
                _MyListOfArcGISPortalGroupExtended.AddRange(
                  From g In grps
                  Select New ArcGISPortalGroupExtended(g))
                
                ' Add the ArcGISPortalGroupExtended objects to the ListBox.
                ListBox_GroupsOwned.ItemsSource = _MyListOfArcGISPortalGroupExtended
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalUser_GetItemsAsync(userItems As System.Collections.Generic.IEnumerable(Of ESRI.ArcGIS.Client.Portal.ArcGISPortalItem), ex As System.Exception)
                
                ' Add the ArcGISPortalItems to the ListBox.
                ListBox_Results.ItemsSource = userItems
                
              End Sub
              
              Private Sub Button_ArcGISPortalItem_ShareAsync_Ver1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
                
                ' Executes when the user clicks the Button. Changes the access level permissions for the selected ArcGISPortalItem.
                
                ' Get the ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                
                ' Warn the user that before they can change an access level on an ArcGISPortalItem, that they must first select it.
                If _MyArcGISPortalItem Is Nothing Then
                  MessageBox.Show("Select an ArcGISPortalItem from the ListBox before trying to change access level permissions.")
                  Return
                End If
                
                ' Get the list of all the Groups the user can set for an ArcGISPortalItem.
                Dim my_GroupIDs_ALL As New System.Collections.Generic.List(Of String)
                For Each myArcGISPortalGroupExtended As ArcGISPortalGroupExtended In _MyListOfArcGISPortalGroupExtended
                  Dim myArcGISPortalGroup As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup = myArcGISPortalGroupExtended.Item
                  my_GroupIDs_ALL.Add(myArcGISPortalGroup.Id)
                Next
                
                '------------------------------------------
                If RadioButton_Public.IsChecked = True Then
                  
                  ' The user has chosen to make the ArcGISPortalItem Public. In this code example we will make sure that all other PortalAccess
                  ' levels are turned off and clear out any Groups to which the ArcGISPortalItem may belong to.
                  ' NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, Sub(result, err)
                                                                     
                                                                     ' Display any error messages if any.
                                                                     If err IsNot Nothing Then
                                                                       MessageBox.Show(err.Message)
                                                                     End If
                                                                     
                                                                     ' Now set the PortalAccess level for everyone (i.e. Public).
                                                                     _MyArcGISPortalItem.ShareAsync(Nothing, True, False, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
                                                                     
                                                                  End Sub)
                  
                End If
                '------------------------------------------
                If RadioButton_Organization.IsChecked = True Then
                  
                  ' The user has chosen to make the ArcGISPortalItem open to the Organization. In this code example we will make sure that all other 
                  ' PortalAccess levels are turned off and clear out any Groups to which the ArcGISPortalItem may belong to.
                  ' NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, Sub(result, err)
                                                                   
                                                                   ' Display any error messages if any.
                                                                   If err IsNot Nothing Then
                                                                      MessageBox.Show(err.Message)
                                                                   End If
                                                                   
                                                                   ' Now set the PortalAccess level for all users in the Organization.
                                                                   _MyArcGISPortalItem.ShareAsync(Nothing, False, True, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
                                                                  
                                                                  End Sub)
                  
                End If
                '------------------------------------------
                If RadioButton_Private.IsChecked = True Then
                  
                  ' The user has chosen to keep the ArcGISPortalItem Private (i.e. just to the credentialed user). In this code example we will make 
                  ' sure that all other PortalAccess levels are turned off and clear out any Groups to which the ArcGISPortalItem may belong to.
                  ' NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  _MyArcGISPortalItem.UnshareAsync(my_GroupIDs_ALL, Sub(result, err)
                                                                   
                                                                   ' Display any error messages if any.
                                                                   If err IsNot Nothing Then
                                                                      MessageBox.Show(err.Message)
                                                                   End If
                                                                   
                                                                   ' Now set the PortalAccess level to be just the credentialed user (i.e. Private).
                                                                   _MyArcGISPortalItem.ShareAsync(Nothing, False, False, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
                                                                  
                                                                  End Sub)
                  
                End If
                '------------------------------------------
                If RadioButton_Shared.IsChecked = True Then
                  
                  ' The user has chosen to share the ArcGISPortalItem with one or more Groups. Get the selected Groups from the CheckBoxes
                  ' that were checked On and put the Group ID values in a List.
                  ' NOTE: it is possible to have multiple PortalAccess levels and Groups specified, it is just not shown in this example.
                  
                  Dim mySelectedGroupIDs As New System.Collections.Generic.List(Of String)
                  For Each myArcGISPortalGroupExtended As ArcGISPortalGroupExtended In _MyListOfArcGISPortalGroupExtended
                    If (myArcGISPortalGroupExtended.Selected) Then
                      Dim myArcGISPortalGroup As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup = myArcGISPortalGroupExtended.Item
                      mySelectedGroupIDs.Add(myArcGISPortalGroup.Id)
                    End If
                  Next
                  
                  ' Make sure that at least one Group is chosen.
                  If mySelectedGroupIDs.Count = 0 Then
                    MessageBox.Show("At least one Group must be checked on  in order to set Shared access level permissions.")
                    Return
                  End If
                  
                  ' Now set the PortalAccess level to be Shared and specify which Groups will have access to the ArcGISPortalItem.
                  _MyArcGISPortalItem.ShareAsync(mySelectedGroupIDs, False, False, AddressOf CALLBACK_ArcGISPortalItem_ShareAsync)
                  
                End If
                '------------------------------------------
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalItem_ShareAsync(result As System.Collections.Generic.IEnumerable(Of String), err As System.Exception)
                
                ' This function executes when the changing of the ArcGISPortalItem access level changes.
                
                ' Display an error messages.
                If err IsNot Nothing Then
                  MessageBox.Show(err.Message)
                Else
                  
                  ' Get the selected ArcGISPortalItem in the ListBox.
                  _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                  
                  ' Make sure we have a valid ArcGISPortalItem. 
                  If _MyArcGISPortalItem Is Nothing Then
                    Return
                  End If
                  
                  ' Call the ArcGISPortalItem.GetSharingInfoAsync which will update the RadioButton and CheckBox controls with the most
                  ' current access level information.
                  _MyArcGISPortalItem.GetSharingInfoAsync(AddressOf CALLBACK_ArcGISPortalItem_GetSharingInfoAsync)
                  
                End If
                
              End Sub
              
              Private Sub CALLBACK_ArcGISPortalItem_GetSharingInfoAsync(sharinginfo As ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo, ex As System.Exception)
                
                ' This function will display the access level and other information about the ArcGISPortalItem.
                
                ' -----------------------------------
                
                ' Display various information in the TextBox. Add more as you feel.
                
                Dim myStringBuilder As New Text.StringBuilder
                
                Dim myPortalItem As ESRI.ArcGIS.Client.Portal.ArcGISPortalItem = sharinginfo.ArcGISPortalItem
                myStringBuilder.Append("ArcGISPortalItem.Title = " + myPortalItem.Title + vbCrLf)
                
                myStringBuilder.Append("ArcGISPortalItem.AvgRating: " + myPortalItem.AvgRating.ToString + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.Type: " + myPortalItem.Type.ToString + vbCrLf)
                myStringBuilder.Append("ArcGISPortalItem.Snippet: " + myPortalItem.Snippet + vbCrLf)
                
                myStringBuilder.Append("---------------------------------------------------" + vbCrLf)
                
                Dim myPortalAccess As ESRI.ArcGIS.Client.Portal.PortalAccess = sharinginfo.Access
                myStringBuilder.Append("ArcGISPortalItem.PortalAccess = " + myPortalAccess.ToString + vbCrLf)
                
                Dim myGroupIds As System.Collections.Generic.IEnumerable(Of String) = sharinginfo.GroupIds
                For Each oneGroupId As String In myGroupIds
                  myStringBuilder.Append("ArcGISPortalItem.GroupId = " + oneGroupId + vbCrLf)
                Next
                
                TextBox1.Text = myStringBuilder.ToString
                
                ' -----------------------------------
                
                ' Update the RadioButtons that represent the ArcGISPortalItem PortalAccess Enumerations. Also check on any
                ' Group CheckBoxes that are available for the Shared PortalAccess level.
                
                If _MyArcGISPortalItem.Owner IsNot Nothing AndAlso _MyArcGISPortalItem.Owner = _MyArcGISPortalUser.UserName Then
                  
                  If sharinginfo.Access = ESRI.ArcGIS.Client.Portal.PortalAccess.Public Then
                    
                    ' The access to the ArcGISPortalItem is Public.
                    RadioButton_Public.IsChecked = True
                    
                    ' Uncheck all of the Shared (i.e. Group) CheckBoxes
                    For Each m In _MyListOfArcGISPortalGroupExtended
                      m.Selected = False
                    Next m
                    
                  End If
                  
                  If sharinginfo.Access = ESRI.ArcGIS.Client.Portal.PortalAccess.Organization Then
                    
                    ' The access to the ArcGISPortalItem is the Organization.
                    RadioButton_Organization.IsChecked = True
                    
                    ' Uncheck all of the Shared (i.e. Group) CheckBoxes
                    For Each m In _MyListOfArcGISPortalGroupExtended
                      m.Selected = False
                    Next m
                    
                  End If
                  
                  If sharinginfo.Access = ESRI.ArcGIS.Client.Portal.PortalAccess.Private Then
                    
                    ' The access to the ArcGISPortalItem is Private.
                    RadioButton_Private.IsChecked = True
                    
                    ' Uncheck all of the Shared (i.e. Group) CheckBoxes
                    For Each m In _MyListOfArcGISPortalGroupExtended
                      m.Selected = False
                    Next m
                    
                  End If
                  
                  If sharinginfo.Access = ESRI.ArcGIS.Client.Portal.PortalAccess.Shared Then
                    
                    ' The access to the ArcGISPortalItem is Shared (i.e. there are Groups).
                    RadioButton_Shared.IsChecked = True
                    
                    ' The user can check on various Group CheckBoxes.
                    ListBox_GroupsOwned.IsEnabled = True
                     
                    ' Check on the Group CheckBoxes that are part of the Shared access.
                    If sharinginfo.GroupIds.Count() &lt;&gt; 0 Then
                    
                      Dim x = From g In _MyListOfArcGISPortalGroupExtended
                      Where sharinginfo.GroupIds.Any(Function(r) r = g.Item.Id)
                        Select g
                      For Each m In x
                        m.Selected = True
                      Next m
                      
                    Else
                    
                      For Each m In _MyListOfArcGISPortalGroupExtended
                        m.Selected = False
                      Next m
                      
                    End If
                    
                  End If
                  
                End If
                
              End Sub
              
              Private Sub RadioButton_XXX_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
                
                ' The user clicked either the Public, Organization or Private RadioButtons.
                
                ' Unselect all of the Group CheckBoxes.
                If RadioButton_Public.IsChecked = True Then
                  For Each m In _MyListOfArcGISPortalGroupExtended
                    m.Selected = False
                  Next m
                End If
                
                ' Disable being able to turn on Group CheckBoxes.
                ListBox_GroupsOwned.IsEnabled = False
                
              End Sub
              
              Private Sub RadioButton_Shared_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
                
                ' The user selected the Share (i.e. Group) RadioButton.
                
                ' Enable the user to be able to check on various Groups.
                ListBox_GroupsOwned.IsEnabled = True
                
              End Sub
              
              Private Sub ListBox_Results_SelectionChanged(sender As System.Object, e As System.Windows.Controls.SelectionChangedEventArgs)
                
                ' Disable being able to select Groups. Once the user has selected the RadioButton_Shared they can check on various Group CheckBoxes.
                ListBox_GroupsOwned.IsEnabled = False
                
                ' Get the currently selected ArcGISPortalItem from the ListBox.
                _MyArcGISPortalItem = TryCast(ListBox_Results.SelectedItem, ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)
                
                ' Make sure we have a valid ArcGISPortalItem. 
                If _MyArcGISPortalItem Is Nothing Then
                  Return
                End If
                
                ' Call the ArcGISPortalItem.GetSharingInfoAsync which will update the RadioButton and CheckBox controls with the most
                ' current access level information.
                _MyArcGISPortalItem.GetSharingInfoAsync(AddressOf CALLBACK_ArcGISPortalItem_GetSharingInfoAsync)
                
              End Sub
                
            End Class
              
            ' A helper class to aid with setting up binding to the controls in XAML. It basically helps track the updating of the 
            ' ArcGISPortalGroup with the CheckBoxes.
            Public Class ArcGISPortalGroupExtended
              Implements System.ComponentModel.INotifyPropertyChanged
              Private selected_Renamed As Boolean
              Public Property Selected() As Boolean
                Get
                  Return selected_Renamed
                End Get
                Set(ByVal value As Boolean)
                  If selected_Renamed &lt;&gt; value Then
                    selected_Renamed = value
                    OnPropertyChanged("Selected")
                  End If
                End Set
              End Property
              
              Private item_Renamed As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup
              Public Property Item() As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup
                Get
                  Return item_Renamed
                End Get
                Set(ByVal value As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup)
                  If item_Renamed IsNot value Then
                    item_Renamed = value
                    OnPropertyChanged("Item")
                  End If
                End Set
              End Property
              
              Public Sub New(ByVal item As ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup)
                Me.Item = item
              End Sub
              
              Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
              Private Sub OnPropertyChanged(ByVal [property] As String)
                RaiseEvent PropertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs([property]))
              End Sub
              
            End Class
            </code>
            </example>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.FromJson(System.String)">
            <summary>
            Initialize an item from a json string..
            </summary>
            <param name="json">The json string.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ReflectionInitFrom(ESRI.ArcGIS.Client.Portal.ArcGISPortalItem)">
            <summary>
            Copy all fields except ArcGISPortal and ISInitialized (properties are copied with backing fields)
            </summary>
            <param name="from">From.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ArcGISPortal">
            <summary>
            Gets or sets the ArcGIS portal containing the item.
            </summary>
            <remarks>The setter is mainly useful in scenario where the developer serializes and deserializes the items by itself.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.IsInitialized">
            <summary>
            Gets a value indicating whether this instance is initialized.
            </summary>
            <value>
            	<c>true</c> if this instance is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Id">
            <summary>
            Gets or sets the unique id for this item.
            </summary>
            <value>
            The id.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Name">
            <summary>
            Gets the name of item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Owner">
            <summary>
            Gets the username of the user who owns this item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Guid">
            <summary>
            Gets the GUID of the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Title">
            <summary>
            Gets the item title. This is the name that is displayed to users and by which they refer to the item.
            Every item must have a title.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.TypeName">
            <summary>
            Gets the string representation of the item type.
            <para>
            In most cases, it's the string representation of the enumeration <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Type"/>,
            but, in cases where the type is unrecognized, the actual type is returned by this TypeName property while <see cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Type"/> returns just <see cref="F:ESRI.ArcGIS.Client.Portal.ItemType.Other"/>.
            </para>
            </summary>
            <value>
            The item type string representation.
            </value>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Type"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.TypeKeywords">
            <summary>
            Gets the set of keywords that further describes the type of this item.
            Each item is tagged with a set of type keywords that are derived based on its primary type.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Description">
            <summary>
            Gets the detailed description of the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Tags">
            <summary>
            Gets the user defined tags that are words or short phrases that describe the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Snippet">
            <summary>
            Gets the summary description of the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ThumbnailPath">
            <summary>
            Gets the pathname to the thumbnail image to be used for the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.AccessInformation">
            <summary>
            Gets the information on the source of the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.LicenseInfo">
            <summary>
            Gets the license information, restrictions and use constraints.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Url">
            <summary>
            Gets the URL for the resource represented by the item.
            Applies only to items that represent web accessible resources such as map services.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Culture">
            <summary>
            Gets the item locale (language and country) information.
            </summary>
            <remarks>The format for culture code is based on a language code and a country code separated by a dash.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Size">
            <summary>
            Gets the size of the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.NumComments">
            <summary>
            Gets the number of comments on the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.NumRatings">
            <summary>
            Gets the number of ratings on the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.NumViews">
            <summary>
            Gets the number of views on the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.AvgRating">
            <summary>
            Gets the average rating for this item.
            </summary>
            <remarks>Uses a weighted average called "Bayesian average".</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.CreationDate">
            <summary>
            Gets the date the item was created.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ModificationDate">
            <summary>
            Gets date the item was last modified.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ThumbnailUri">
            <summary>
            Gets the URI of the thumbnail image used for the item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Access">
            <summary>
            Gets the access level on the item.
            <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Private">Private</see> is the default and only the item owner can access.
            <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Shared">Shared</see> allows the item to be shared with a specific group.
            Setting to <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Organization">Organization</see> restricts item access to members of your organization.
            If <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Public">Public</see>, all users can access the item. 
            </summary>
            <remarks>
            <para>
            An ArcGISPortalItem can be accessed by various types of users. There are four levels of access that can be associated 
            with an ArcGISPortalItem. Some of the access levels can be concurrent, others cannot. The ArcGISPortalItem.Access 
            Property however only returns a single PortalAccess level enumeration even though multiple levels of access may have 
            been specified via the 
            <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})"/> 
            and/or 
            <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.ShareAsync(System.Collections.Generic.IEnumerable{System.String},System.Action{System.Collections.Generic.IEnumerable{System.String},System.Exception})"/> 
            Methods. If multiple access levels have been specified on an ArcGISPortalItem, the returned access level from the 
            ArcGISPortalItem.Access Property will be the least restrictive access level. The following diagram illustrates the 
            hierarchy of access levels:
            </para>
            <para>
            <img border="0" alt="Access levels on ArcGISPortalItems with their varying degrees of restrictiveness." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.Portal.ArcGISPortalItem.Access.png"/>
            </para> 
            </remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Type">
            <summary>
            Gets the gis content type of this item.
            Example types include : "Web Map" and "Web Mapping Application".
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.TypeName"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Extent">
            <summary>
            Gets the bounding extent of the item (in geographical coordinates)
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.SpatialReference">
            <summary>
            Gets the item's spatial reference.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalItemGroups">
            <summary>
            The groups that can access to an item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItemGroups.ArcGISPortalItem">
            <summary>
            Gets the portal item associated with this ArcGISPortalItemGroups object.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItemGroups.Admins">
            <summary>
            Gets the groups which user is an administrator.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItemGroups.Members">
            <summary>
            Gets the groups which user is a member.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItemGroups.Others">
            <summary>
            Gets other groups that are public or shared to the user's organization but that the user is not a member of.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalRating">
            <summary>
            Represents the rating associated with a Portal item.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalRating.ArcGISPortalItem">
            <summary>
            Gets the portal item that the rating is associated with.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalRating.Rating">
            <summary>
            Gets the rating given by the current user to the item.
            </summary>
            <remarks>A null value means that the current user didn't rate the item.</remarks>
            <value>
            The rating between 1.0 and 5.0.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalRating.CreationDate">
            <summary>
            Gets the date and time the rating was added to the item.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo">
            <summary>
            Represents a tag used by the user when adding or updating an item to the portal.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo.ArcGISPortalItem">
            <summary>
            Gets the portal item that the sharing info is associated with.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo.GroupIds">
            <summary>
            Gets the list of group IDs that the item is shared with.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalSharingInfo.Access">
            <summary>
            Gets the sharing access level.
            Private indicates that the item can only be accessed by the user.
            Public items are accessible by all users.
            An item shared to the organization has an access level of org.
            Shared denotes an item shared to one or more groups.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser">
            <summary>
            Represents a registered user of the portal. 
            Personal details of the user, such as email and groups, are returned only to the user or the administrator of the user's organization. 
            A user is not visible to any other users (except their organization's administrator) if their access setting is set to 'private'. 
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.#ctor(ESRI.ArcGIS.Client.Portal.ArcGISPortal)">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser"/> class.
            </summary>
            <param name="arcGISPortal">The ArcGIS portal.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.InitializeAsync(System.String,System.Action{ESRI.ArcGIS.Client.Portal.ArcGISPortalUser,System.Exception})">
            <summary>
            Initializes the portal user from the specified user name.
            </summary>
            <param name="userName">Name of the user.</param>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.GetItemsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">
            <summary>
            Gets the items of the user that are stored at the root folder.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.GetGroupsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup},System.Exception})">
            <summary>
            Gets the groups where the user is member.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.GetUserTagsAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalUserTag},System.Exception})">
            <summary>
            Gets the tags the user has already used when publishing in the portal.
            </summary>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.GetFoldersAsync(System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalFolder},System.Exception})">
            <summary>
            Gets the sub folders of the user home folder.
            </summary>
            <remarks>Multi-level folders are not supported.</remarks>
            <param name="callback">The callback executed when the result is available.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.ReflectionInitFrom(ESRI.ArcGIS.Client.Portal.ArcGISPortalUser)">
            <summary>
            Copy all fields except ArcGISPortal and ISInitialized (properties are copied with backing fields)
            </summary>
            <param name="from">From.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.ArcGISPortal">
            <summary>
            Gets the ArcGIS portal.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.IsInitialized">
            <summary>
            Gets a value indicating whether this instance is initialized.
            </summary>
            <value>
            	<c>true</c> if this instance is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.UserName">
            <summary>
            Gets or sets the name of the user.
            </summary>
            <value>
            The name of the user.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.FullName">
            <summary>
            Gets the full name of the user.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.PreferredView">
            <summary>
            Gets the user's preferred view for content, either Web or GIS.
            Web is the default.
            </summary>
            <remarks>Available only if the user is signed-in.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Description">
            <summary>
            Gets the description or profile of the user.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Email">
            <summary>
            Gets the email of the user.
            </summary>
            <remarks>Available only if the user is signed-in.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.StorageQuota">
            <summary>
            Gets the storage quota for the user (in bytes).
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.StorageUsage">
            <summary>
            Gets the storage usage (in bytes).
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.OrgId">
            <summary>
            Gets the id of the organization the user belongs to.
            Only available for users in an organization.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Tags">
            <summary>
            Gets the words or short phrases that describe the user.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Culture">
            <summary>
            Gets the default culture for the user.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Region">
            <summary>
            Gets the region of featured maps and apps and the basemap gallery.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.ThumbnailPath">
            <summary>
            Gets the pathname to the thumbnail image to be used for the user.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.CreationDate">
            <summary>
            Gets the date and time the user was created.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.ModificationDate">
            <summary>
            Gets the date and time the user was last modified.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.ThumbnailUri">
            <summary>
            Gets the URI of the thumbnail image used for the user.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Access">
            <summary>
            Gets the access level for the user : private, organization or public.
            If <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Private">Private</see> , the users descriptive information will not be available and the user name will not be searchable.
            If <see cref="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Organization">Organization</see> , only members of the organization can search for the user and the user's content.
            </summary>
            <remarks>Available only if the user is signed-in.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Role">
            <summary>
            Gets the user's role in the organization : administrator, publisher or user.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ArcGISPortalUserTag">
            <summary>
            Represents a tag used by the user when adding or updating an item to the portal.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUserTag.Tag">
            <summary>
            Gets the name of the tag.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUserTag.Count">
            <summary>
            Gets the number of times the tag was used.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.ItemType">
            <summary>
            Types of Portal Item.
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.Type"/>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.TypeName"/>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.MapDocument">
            <summary>
            ArcMap Document (mxd)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.ExplorerMap">
            <summary>
            ArcGIS Explorer Document (nmf) 
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GlobeDocument">
            <summary>
            ArcGlobe Document (3dd)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.SceneDocument">
            <summary>
            ArcScene Document (sxd)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.PublishedMap">
            <summary>
            ArcReader Document (pmf)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.MapPackage">
            <summary>
            ArcGIS Map Package (mpk)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GeoprocessingPackage">
            <summary>
            ArcGIS Geoprocessing Package (gpk) 
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.LocatorPackage">
            <summary>
            ArcGIS Locator Package (apk)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.TilePackage">
            <summary>
            ArcGIS Tile Package
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.WindowsMobilePackage">
            <summary>
            ArcGIS Windows Mobile Package
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.DesktopApplicationTemplate">
            <summary>
            The Desktop Application Template (.zip) includes either a desktop add in or a toolbar.exe.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.MapTemplate">
            <summary>
            The Map Template (.zip) contains documentation, a map and GDB folder 
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.CodeSample">
            <summary>
            Code sample.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GeoprocessingSample">
            <summary>
            Geoprocessing sample.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.ServiceDefinition">
            <summary>
            Service Definition (sd)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.Layer">
            <summary>
            Layer File (lyr)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.LayerPackage">
            <summary>
            Layer Package (lpk)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.ExplorerLayer">
            <summary>
            ArcGIS Explorer Layer (nmc)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.DesktopAddIn">
            <summary>
            ArcGIS Add In (esriaddin)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.ExplorerAddIn">
            <summary>
            ArcGIS Explorer Layer (eaz)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.MapService">
            <summary>
            ArcGIS Server Map Service 
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GeocodingService">
            <summary>
            ArcGIS Server Geocoding Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.NetworkAnalysisService">
            <summary>
            ArcGIS Server Network Analyst Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GlobeService">
            <summary>
            ArcGIS Server Globe Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GeoprocessingService">
            <summary>
            ArcGIS Server Geoprocessing Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GeodataService">
            <summary>
            ArcGIS Server Geodata Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.ImageService">
            <summary>
            ArcGIS Server Image Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.GeometryService">
            <summary>
            ArcGIS Server Geometry Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.FeatureService">
            <summary>
            ArcGIS Feature Service
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.KML">
            <summary>
            Data, Map, kml 
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.WMS">
            <summary>
            Data, Service, Web Map Service, OGC
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.WMTS">
            <summary>
             Data, Service, Web Map Tile Service, OGC
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.WebMap">
            <summary>
            Web Map authored using the arcgis.com Javascript Web Map viewer or using ArcGIS Explorer online.
            Usable by web, mobile, and desktop clients.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.WebMappingApplication">
            <summary>
             A web mapping application built using ArcGIS API for Javascript, ArcGIS API for Flex, ArcGIS API for Silverlight, Java Web Application Developer Framework, .NET Web Application Developer Framework.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.MobileApplication">
            <summary>
            A mobile application build using the ArcGIS for iPhone SDK, ArcGIS for Android SDK, ArcGIS Mobile SDK for the Windows Mobile Platform, or the JavaScript or Flex API.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.CodeAttachment">
            <summary>
            Attached code.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.FeaturedItems">
            <summary>
            Empty Item type with relationships to items that user wants featured.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.FeatureCollection">
            <summary>
            A feature collection is a saved web map feature layer with layer definition and a feature set
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.FeatureCollectionTemplate">
            <summary>
            A feature collection template.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.SymbolSet">
            <summary>
            A symbol set.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.ColorSet">
            <summary>
            A color set.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.CollectionDefinition">
            <summary>
            The definition for a feature collection/web map feature layer
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.CSV">
            <summary>
            A CSV layer.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.Shapefile">
            <summary>
            A shapefile layer.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.OperationView">
            <summary>
            An Operation View
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.OperationsDashboardAddIn">
            <summary>
            An Operations Dashboard Add In
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.CityEngineWebScene">
            <summary>
            A CityEngine Web Scene
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.WorkflowManagerPackage">
            <summary>
            A Workflow Manager Package (wpk)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.ArcPadPackage">
            <summary>
            An ArcPad Package (appk)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.ItemType.Other">
            <summary>
            Other item.
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.TypeName"/>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.MemberType">
            <summary>
            Type of membership.
            </summary>
            <seealso cref="T:ESRI.ArcGIS.Client.Portal.UserMembership"/>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.MemberType.Owner">
            <summary>
            Owner of the group
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.MemberType.Admin">
            <summary>
            Administrator of the group
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.MemberType.Member">
            <summary>
            Member of the group.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.MemberType.None">
            <summary>
            Not a member of the group.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.PortalAccess">
            <summary>
            Access permissions.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Private">
            <summary>
            Private access.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Shared">
            <summary>
            Shared access.
            Available only for items.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Organization">
            <summary>
            Organization access.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.PortalAccess.Public">
            <summary>
            Public access.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.PortalMode">
            <summary>
            Portal mode (multitenant or singletenant)
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.PortalMode.MultiTenant">
            <summary>
            Multi tenant portal.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.PortalMode.SingleTenant">
            <summary>
            Single tenant portal.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.QuerySortOrder">
            <summary>
            Sort order options for search operations.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.QuerySortOrder.Ascending">
            <summary>
            Indicates that data should be sorted in a ascending order.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.QuerySortOrder.Descending">
            <summary>
            Indicates that data should be sorted in a descending order
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.RelationshipDirection">
            <summary>
            Relationship direction to use when getting the items related to another item (<see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetRelatedItemsAsync(ESRI.ArcGIS.Client.Portal.RelationshipType,System.Nullable{ESRI.ArcGIS.Client.Portal.RelationshipDirection},System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})"/>).
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipDirection.Forward">
            <summary>
            Forward direction.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipDirection.Reverse">
            <summary>
            Reverse direction.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.RelationshipType">
            <summary>
            Type of relationship to use when getting the items related to another item (<see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalItem.GetRelatedItemsAsync(ESRI.ArcGIS.Client.Portal.RelationshipType,System.Nullable{ESRI.ArcGIS.Client.Portal.RelationshipDirection},System.Action{System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})"/>).
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipType.Map2Service">
            <summary>
            Relation from a web map to map services, feature services or image services.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipType.WebMappingApplication2Code">
            <summary>
            Relation from a web mapping application to the code.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipType.Map2FeatureCollection">
            <summary>
            Relation from a web map to feature collections.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipType.FeaturedItems2Item">
            <summary>
            Relation from feature items to items.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipType.MobileApp2Code">
            <summary>
            Relation from a mobile application to the code.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.RelationshipType.Service2Data">
            <summary>
            Relation from a service item (hosted feature service or map service) to a source data (service definition, CSV, shapefile).
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.UserRole">
            <summary>
            User roles
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalUser.Role"/>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.UserRole.User">
            <summary>
            User
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.UserRole.Admin">
            <summary>
            Administrator
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.Portal.UserRole.Publisher">
            <summary>
            Publisher
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.GroupInfo">
            <summary>
            Represents a group identified by an owner and a title.
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.FeaturedGroups"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.GroupInfo.Owner">
            <summary>
            Gets the user name of the group's owner.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.GroupInfo.Title">
            <summary>
            Gets the title of the group.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.HelperServices">
            <summary>
            Various services needed by clients.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.HelperServices.GeocodeServices">
            <summary>
            Gets the geocode services.
            </summary>
            <value>
            The enumeration of geocode services.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.HelperServices.RouteService">
            <summary>
            Gets the route service.
            </summary>
            <value>
            The route service.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.HelperServices.GeometryService">
            <summary>
            Gets the geometry service.
            </summary>
            <value>
            The geometry service.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.HelperServices.PrintTaskService">
            <summary>
            Gets the print task service.
            </summary>
            <value>
            The print task service.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.GeocodeService">
            <summary>
            An ArcGIS GeocodeServer to use for Geocoding functionality.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.GeocodeService.Url">
            <summary>
            Gets the URL of the service.
            </summary>
            <value>
            The URL.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.GeocodeService.Extent">
            <summary>
            Gets the extent in geographical coordinates of the geocode service.
            </summary>
            <value>
            The extent.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.GeometryService">
            <summary>
            An ArcGIS GeometryServer to use for Geometry functions.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.GeometryService.Url">
            <summary>
            Gets the URL of the service.
            </summary>
            <value>
            The URL.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.PrintTaskService">
            <summary>
            An ArcGIS PrintServer task to use for printing functionality.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.PrintTaskService.Url">
            <summary>
            Gets the URL of the service.
            </summary>
            <value>
            The URL.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.RouteService">
            <summary>
            An ArcGIS Network Analyst Server to use for network functionality.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.RouteService.Url">
            <summary>
            Gets the URL of the service.
            </summary>
            <value>
            The URL.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.RotatorPanel">
            <summary>
            Panel for the home page.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.RotatorPanel.BannerId">
            <summary>
            Gets the banner id that indicates if a custom banner is set for the home page.
            'banner-custom' indicates a custom image banner.
            'banner-html' denotes a custom HTML banner..
            </summary>
            <value>
            The banner id.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.RotatorPanel.InnerHtml">
            <summary>
            Gets the custom HTML for the home page.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.QueryParameters">
            <summary>
            Parameters to provide as input of a paginated query such as <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalInfo.QueryUsersAsync(ESRI.ArcGIS.Client.Portal.QueryParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalUser},System.Exception})"/>.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.QueryParameters.StartIndex">
            <summary>
            Gets or sets the index of the first entry in the result set response.
            The index number is 1-based. 
            The default value of  <see cref="P:ESRI.ArcGIS.Client.Portal.QueryParameters.StartIndex"/> is 1 (e.g.,. the first search result).
            The start index, along with the <see cref="P:ESRI.ArcGIS.Client.Portal.QueryParameters.Limit"/> parameter can be used to paginate the search results.
            </summary>
            <value>
            The start index.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.QueryParameters.Limit">
            <summary>
            Gets or sets the maximum number of results to be included in the result set response. 
            The default value is 10 and the maximum allowed value is 100.
            The start index, along with the limit parameter can be used to paginate the search results.
            The actual number of returned results may be less than <see cref="P:ESRI.ArcGIS.Client.Portal.QueryParameters.Limit"/>. This happens when the number of results remaining after <see cref="P:ESRI.ArcGIS.Client.Portal.QueryParameters.StartIndex"/> is less than <see cref="P:ESRI.ArcGIS.Client.Portal.QueryParameters.Limit"/>.
            </summary>
            <value>
            The maximum number of results.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.SearchParameters">
            <summary>
            Search parameters to provide as input of a search operation such as <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.SearchUsersAsync(ESRI.ArcGIS.Client.Portal.SearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalUser},System.Exception})"/>.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchParameters.QueryString">
            <summary>
            Gets or sets the query string to search against. 
            </summary>
            <value>
            The query string.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchParameters.SortField">
            <summary>
            Gets or sets the field to sort by.
            e.g for groups The allowed field names are title, owner, and created.
            </summary>
            <value>
            The sort field.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchParameters.SortOrder">
            <summary>
            Describes whether order returns in ascending or descending order. Default is ascending.
            </summary>
            <value>
            The sort order.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.SpatialSearchParameters">
            <summary>
            Spatial search parameters to provide as input of a search operation such as <see cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortal.SearchItemsAsync(ESRI.ArcGIS.Client.Portal.SpatialSearchParameters,System.Action{ESRI.ArcGIS.Client.Portal.SearchResultInfo{ESRI.ArcGIS.Client.Portal.ArcGISPortalItem},System.Exception})">ArcGISPortal.SearchItemsAsync</see>.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SpatialSearchParameters.SearchExtent">
            <summary>
            Gets or sets the search extent for a spatial search.
            Search requires a SearchExtent, a <see cref="P:ESRI.ArcGIS.Client.Portal.SearchParameters.QueryString"/> or both. 
            Spatial search is an overlaps/intersects function of the search extent and the extent of the document. 
            Sorting is not supported. 
            Documents that have no extent (e.g., mxds, 3dds, lyr) will not be found when doing a spatial search. 
            Document extent is assumed to be in geographic.
            </summary>
            <value>
            The search extent.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.SearchResultInfo">
            <summary>
            Base class for the results of a search.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.Query">
            <summary>
            Gets the query string used for the search.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.TotalCount">
            <summary>
            Gets the total number of objects that fit the search query (may be more than the actual number of returned results).
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.StartIndex">
            <summary>
            Gets the index of the first entry in the result set response.
            The index number is 1-based. 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.Limit">
            <summary>
            Gets the maximum number of results included in the result set response.
            The actual number of returned results may be less than <see cref="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.Limit"/>.
            This happens when the number of results remaining after <see cref="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.StartIndex"/> is less than <see cref="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.Limit"/>.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo.NextStart">
            <summary>
            Gets the index of the entry after the actual result set response (or -1 if there is no more objects).
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.SearchResultInfo`1">
            <summary>
            Represents the result of a portal search returning an enumeration of T objecs.
            </summary>
            <typeparam name="T">The type of data returned by the search as an enumeration of T.</typeparam>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchResultInfo`1.Results">
            <summary>
            Gets the result set response.
            </summary>
            <value>
            The results as an enumeration of T objects.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.SearchResultInfoUsers">
            <summary>
            Represents the result of a portal search on users.
            Needs this specialized version when the results is returned as 'users' instead of 'results'
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.SearchResultInfoUsers.Users">
            <summary>
            Gets or sets the users.
            </summary>
            <value>
            The users.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.UserMembership">
            <summary>
            Represents a user membership to a group.
            </summary>
            <seealso cref="M:ESRI.ArcGIS.Client.Portal.ArcGISPortalGroup.GetUserMemberShipAsync(System.Action{ESRI.ArcGIS.Client.Portal.UserMembership,System.Exception})"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.UserMembership.UserName">
            <summary>
            Gets the requestor user name.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.UserMembership.Applications">
            <summary>
            Gets the number of applications.
            Available only to admins and owner.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.UserMembership.MemberType">
            <summary>
            Gets the membership type.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.Utils.DateSerializer">
            <summary>
            Helper class to serialize/deserialize a date
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.Utils.EnumSerializer`1">
            <summary>
            Helper class to serialize/deserialize an enum
            </summary>
            <typeparam name="TEnum">The type of the enum or a nullable type of enum</typeparam>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.Utils.EnumSerializer`1.Deserialize(System.String)">
            <summary>
            Deserializes an Enum or a nullable Enum.
            </summary>
            <param name="value">The string value.</param>
            <returns>The TEnum object.</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.Utils.EnumSerializer`1.Serialize(`0)">
            <summary>
            Serializes an enum or a nullable enum.
            </summary>
            <param name="value">The enum value.</param>
            <returns>The serialized string.</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.Portal.Utils.EnumSerializer`1.SerializationName(System.Reflection.FieldInfo)">
            <summary>
            Returns serialization name either from EnumMemberAttribute or from field name.
            </summary>
            <param name="field">The field.</param>
            <returns></returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.Utils.QueryBuilder">
            <summary>
            Helper to build query to arcgis on line
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.Utils.SearchAggregator">
            <summary>
            Helper sending multi requests in order to get all results of a search operation instead of a paginated result.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.Utils.WebRequestJson`1">
            <summary>
            Helper class to request a rest end point and to deserialize the object
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Serializers.Layers.KmlSerializer">
            <summary>
            Deserializes a KML Layer from the Web Map Document (added v1.3 of the WebMap Spec).
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Serializers.Layers.KmlSerializer.Deserialize(System.Collections.Generic.IDictionary{System.String,System.Object},ESRI.ArcGIS.Client.Geometry.SpatialReference,System.Action{ESRI.ArcGIS.Client.Layer,ESRI.ArcGIS.Client.Geometry.SpatialReference})">
            <summary>
            Deserializes the specified properties.
            </summary>
            <param name="properties">The properties.</param>
            <param name="sref">The sref.</param>
            <param name="onComplete">The on complete.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Serializers.Layers.KmlSerializer.TypeID">
            <summary>
            Gets the type ID.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Serializers.Layers.WmsSerializer">
            <summary>
            Deserializes a WMS Layer from the Web Map Document (added v1.3 of the WebMap Spec).
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Serializers.Layers.WmsSerializer.Deserialize(System.Collections.Generic.IDictionary{System.String,System.Object},ESRI.ArcGIS.Client.Geometry.SpatialReference,System.Action{ESRI.ArcGIS.Client.Layer,ESRI.ArcGIS.Client.Geometry.SpatialReference})">
            <summary>
            Deserializes the specified properties.
            </summary>
            <param name="properties">The properties.</param>
            <param name="sref">The sref.</param>
            <param name="onComplete">The on complete.</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Serializers.Layers.WmsSerializer.TypeID">
            <summary>
            Gets the type ID.
            </summary>
            <value>The type ID.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.TimeProperties">
            <summary>
            TimeProperties class that contains information about time configurations 
            for the WebMap document.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.TimeProperties.TimeExtent">
            <summary>
            Gets or sets the time extent.
            </summary>
            <value>The time extent.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.TimeProperties.Intervals">
            <summary>
            Gets or sets the intervals.
            </summary>
            <value>The intervals.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.TimeProperties.ThumbCount">
            <summary>
            Gets or sets the thumb count for a time slider control.
            </summary>
            <value>The thumb count for a time slider control.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.TimeProperties.PlaySpeed">
            <summary>
            Gets or sets the play speed for a time slider control.
            </summary>
            <value>The play speed for a time slider control.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSource">
            <summary>
            *FOR INTERNAL USE ONLY* The CodedValueSource class.
            </summary>
            <remarks>Used to populate each entry in the coded value domain.</remarks>
            <exclude/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSource.Code">
            <summary>
            Gets or sets the code.
            </summary>
            <value>The code.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSource.DisplayName">
            <summary>
            Gets or sets the display name.
            </summary>
            <value>The display name.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSource.Temp">
            <summary>
            Gets or sets a true or false value indicating if this item is a 
            temporary place holder item.
            </summary>		
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSources">
            <summary>
            *FOR INTERNAL USE ONLY* The CodedValueSources class.
            </summary>
            <remarks>Used to maintain collection of coded value domains.</remarks>	
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSources.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSources"/> class.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSource">
            <summary>
            *FOR INTERNAL USE ONLY* DynamicCodedValueSource is used to hold 
            CodedValueSources that change depending on the a value of another graphic attribute. 
            </summary>
            <exclude/>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueDomainConverter">
            <summary>
            *FOR INTERNAL USE ONLY* The CodedValueDomainConverter class.
            </summary>
            <remarks>Converts codes/values in the given coded value domain.</remarks>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueDomainConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueDomainConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSourceConverter">
            <summary>
            The CodedValueSourceConverter class.
            </summary>
            <remarks>Converts codes/values in the given coded value domain.</remarks>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSourceConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSourceConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSourceConverter.Field">
            <summary>
            Gets or sets the field. The graphic attribute field that should be 
            used for the conversion. 
            </summary>
            <value>The field.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceConverter">
            <summary>
            *FOR INTERNAL USE ONLY* The DynamicCodedValueSourceConverter class.
            </summary>
            <remarks>Converts codes/values in the given coded value domain based on 
            the current value of the lookup field.</remarks>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceConverter.LookupField">
            <summary>
            Gets or sets the lookup field.
            </summary>
            <value>The lookup field.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceConverter.Field">
            <summary>
            Gets or sets the field. this field is dependent on the lookup field.
            </summary>
            <value>The field.</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSourceLookupConverter">
            <summary>
            The CodedValueSourceConverter class.
            </summary>
            <remarks>Converts codes/values in the given coded value domain.</remarks>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSourceLookupConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.CodedValueSourceLookupConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceLookupConverter">
            <summary>
            *FOR INTERNAL USE ONLY* The DynamicCodedValueSourceConverter class.
            </summary>
            <remarks>Converts codes/values in the given coded value domain based on 
            the current value of the lookup field.</remarks>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceLookupConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the source data before passing it to the target for display in the UI.
            </summary>
            <param name="value">The source data being passed to the target.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the target dependency property.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the target dependency property.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceLookupConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Modifies the target data before passing it to the source object.  This method is called only in <see cref="F:System.Windows.Data.BindingMode.TwoWay"/> bindings.
            </summary>
            <param name="value">The target data being passed to the source.</param>
            <param name="targetType">The <see cref="T:System.Type"/> of data expected by the source object.</param>
            <param name="parameter">An optional parameter to be used in the converter logic.</param>
            <param name="culture">The culture of the conversion.</param>
            <returns>
            The value to be passed to the source object.
            </returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceLookupConverter.LookupField">
            <summary>
            Gets or sets the lookup field.
            </summary>
            <value>The lookup field.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Popup.DynamicCodedValueSourceLookupConverter.Field">
            <summary>
            Gets or sets the Field information
            </summary>
            <value>The Field information</value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Popup.FieldDomainCollection">
            <summary>
            *FOR INTERNAL USE ONLY* FieldDomainCollection is used in Popup DataTemplate which is loaded using xaml loader at runtime.
            </summary>
            <exclude/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.FieldDomainUtils.IsDynamicDomain(ESRI.ArcGIS.Client.Field,ESRI.ArcGIS.Client.FeatureService.FeatureLayerInfo)">
            <summary>
            Checks Fields and determines if Field is Dynamic Coded Value Domain (aka Sub Domain)
            </summary>
            <param name="field">The field that needs to be checked.</param>
            <param name="layerInfo">
            The FeatureLayerInfo that has the information to determine if the field
            is a dynamic coded value domain (aka Sub Domain).
            </param>
            <returns>Boolean value indicating if the field is a DynamicCodedValueDomain (aka Sub Domain)</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.FieldDomainUtils.BuildDynamicCodedValueSource(ESRI.ArcGIS.Client.Field,ESRI.ArcGIS.Client.FeatureService.FeatureLayerInfo)">
            <summary>
            Builds a DynamicCodedValueSource object used to lookup display value.
            </summary>
            <param name="field">The field to build DynamicCodedValueSource for</param>
            <param name="layerInfo">The FeatureLayerInfo used to lookup all the coded value domains </param>
            <returns>DynamicCodedValueSource which is a collection of coded value domain values for a field.</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.FieldDomainUtils.BuildTypeIDCodedValueSource(ESRI.ArcGIS.Client.Field,ESRI.ArcGIS.Client.FeatureService.FeatureLayerInfo)">
            <summary>
            Returns CodedValueSources that make up the display text of each value of the TypeIDField.
            </summary>
            <param name="field">TypeIDField</param>
            <param name="layerInfo">FeatureLayerInof used to construct the CodedValueSources from the FeatureTypes.</param>
            <returns>CodedValueSoruces that contain code an value matches to all possible TypeIDField values.</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Popup.FieldDomainUtils.BuildCodedValueSource(ESRI.ArcGIS.Client.Field)">
            <summary>
            Returns a CodedValueSources object constructed form the CodedValueDomain value.
            </summary>
            <param name="field">The field to make a CodedValueSource from.</param>
            <returns>The CodedValueSources object used for a code to value lookup.</returns>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Document">
            <summary>
            Class for generating a map based on the ArcGIS Geowarehouse web map document.
            </summary>
            <remarks>
            <para><big>General Remarks</big></para>
            <para>
            The WebMap.Document class uses an asynchronous programming model to get web map documents from <b>ArcGIS Online</b> 
            or an <b>ArcGIS Portal</b> server. Details the components of a web map document can be found in the concepts 
            document 
            <a href="http://resources.arcgis.com/en/help/silverlight-api/concepts/index.html#/Introduction_to_web_maps/0166000000m7000000/">Introduction to web maps</a>.
            
            
            </para>
            <para>
            Use the <see cref="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapAsync(System.String,System.Object)">WebMap.Document.GetMapAsync(String,Object)</see> 
            Method to obtain web map documents when you know the ItemID string (looks like a GUID) that was created in 
            <b>ArcGIS Online</b> or <b>ArcGIS Portal</b>. 
            </para>
            <para>
            The <see cref="E:ESRI.ArcGIS.Client.WebMap.Document.GetMapCompleted">WebMap.Document.GetMapCompleted</see> Event is 
            fired as a result of the using the WebMap.Document.GetMapAsync(String,Object) Method. Use the return parameter 
            <see cref="T:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs">WebMap.GetMapCompletedEventArgs</see> in the 
            WebMap.Document.GetMapCompleted Event to obtain Map, WebMap, SpatialReference and other information useful for 
            displaying and interrogating in your client application.
            </para>
            <para>
            <b>NOTE:</b> If it is desired to add Layers from the returned web map document in the WebMap.Document.GetMapCompleted into an
            existing Map Contol in you client application, do not forget to clear out all of the Layers in the 
            WebMap.Document.GetMapCompleted.Map.Layers collection before attempting to add Layers to the Map Control in the application. 
            A Layer can only be added to a single Map object! Because a Map object is returned from the web map document via the 
            GeMapCompletedEventArgs parameter, you already have the Layers in that Map. You must clear out all of the Layers in the web 
            map document so that the Layers can be added to the Map Control your the application or else an exception error will be thrown.
            </para>
            <para><big>Editable FeatureLayers in web map documents</big></para>
            <para>
            Starting with <b>ArcGIS Online</b> and <b>ArcGIS Portal</b> version 1.7, it is possible to enable and disable the 
            editing of individual operational FeatureLayers (see the conceptual document
            <a href="http://resources.arcgis.com/en/help/arcgisonline/index.html#/Disabling_editing/010q000000tr000000/">Disable editing</a>. 
            This new functionality in web maps can override the behavior of a 
            <see cref="T:ESRI.ArcGIS.Client.FeatureLayer">FeatureLayer</see> that had editing capabilities specifically 
            enabled in ArcGIS Server. In other words, the base FeatureLayer that has editing enabled by default in 
            ArcGIS Server can be overridden so that editing is disabled when within a web map. The following section 
            provides an example with a more in-depth discussion on the subject:
            </para>
            <para>
            Assume that a FeatureLayer in ArcGIS Server had the following Url: 
            http://sampleserver6.arcgisonline.com/arcgis/rest/services/Military/FeatureServer/2. When you scroll to the bottom 
            of the <b>ArcGIS REST Services Directory</b> page you will see that editing <b>Capabilities</b> have been enabled 
            (Create, Delete, Update, Uploads, and Editing); additionally the <b>Capabilities</b> of Query is enabled as well. 
            See the following screen shot:
            </para>
            <para>
            <img border="0" alt="Reviewing the 'Capabilities' of a FeatureLayer." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.WebMap.Document_EditableFeatureLayers1.png"/>
            </para>
            <para>
            Now imagine that you are authoring a web map document (in <b>ArcGIS Online</b> or <b>ArcGIS Portal</b>) that 
            contains this editable FeatureLayer. You can override the behavior of the operational FeatureLayer in the web 
            map document to disable editing by clicking on arrow button next to the FeatureLayer name and then click 
            <b>Disable Editing</b> in the context menus. See the following screen shot:
            </para>
            <para>
            <img border="0" alt="Turning off editing of an operational FeatureLayer in ArcGIS Online or ArcGIS Portal." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.WebMap.Document_EditableFeatureLayers2.png"/>
            </para>
            <para>
            You can verify that the editing capabilities have been removed for the operational FeatureLayer in the web map 
            document by issuing the following Url syntax in the address bar of a web browser: 
            http://www.MyArcGISPortal.com/sharing/content/items/15f150f6cced4311bfaefab29a413bbc/data?f=pjson (NOTE: this 
            is a fictitious example Url; you would need to create your own web map in <b>ArcGIS Online</b> or <b>ArcGIS Portal</b>), 
            which will result in the following JSON text in the screen shot:
            </para>
            <para>
            <img border="0" alt="Looking at the 'Capabilities' of an operational Featurelayer in a web map's JSON." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.WebMap.Document_EditableFeatureLayers3.png"/>
            </para>
            <para>
            <b>Note:</b> Notice how for the operational FeatureLayer in the JSON text of the web map document that only the 
            capability of 'Query' has been preserved. 
            </para>
            <para>
            Conversely, if you are authoring a web map document (in <b>ArcGIS Online</b> or <b>ArcGIS Portal</b>) that 
            contains the same editable FeatureLayer, you can keep the default behavior of the operational FeatureLayer in 
            the web map document to enable editing by clicking on arrow button next to the FeatureLayer name and then click 
            <b>Enable Editing</b> in the context menus.  See the following screen shot:
            </para>
            <para>
            <img border="0" alt="Turning on editing of an operational FeatureLayer in ArcGIS Online or ArcGIS Portal." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.WebMap.Document_EditableFeatureLayers4.png"/>
            </para>
            <para>
            And you can verify that the editing capabilities remain for the FeatureLayer in the web map document by issuing 
            the same Url syntax in the address bar of a web browser: 
            http://devext.arcgis.com/sharing/content/items/15f150f6cced4311bfaefab29a413bbc/data?f=pjson (NOTE: this is a 
            fictitious example Url; you would need to create your own web map in <b>ArcGIS Online</b> or <b>ArcGIS Portal</b>), which 
            will result in JSON text similar to the following screen shot:
            </para>
            <para>
            <img border="0" alt="Looking at the 'Capabilities' of an operational Featurelayer in a web map's JSON." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.WebMap.Document_EditableFeatureLayers5.png"/>
            </para>
            <para>
            <b>NOTE:</b> Notice that because editing has been enabled for the operational FeatureLayer in the web map (which 
            is the default behavior for the FeatureLayer in ArcGIS Server), that <b>Capabilities</b> section is NOT displayed in the 
            JSON syntax for the FeatureLayer. This means that the full default behavior of the FeatureLayer passes through 
            in the web map (meaning full editing capabilities are enabled + Query).
            </para>
            <para>
            Of course, as a developer you can also use the programmatic Property of 
            <see cref="P:ESRI.ArcGIS.Client.FeatureLayer.IsReadOnly">FeatureLayer.IsReadOnly</see> to determine if the 
            operational FeatureLayer is editable. You can obtain valid results from the FeatureLayer.IsReadOnly Property in
            the <see cref="E:ESRI.ArcGIS.Client.Layer.Initialized">FeatureLayer.Initialized</see> Event or anytime after this
            Event fires. One common programming practice is to dynamically wire-up the FeatureLayer.Initialzied Event when 
            cycling through the <see cref="P:ESRI.ArcGIS.Client.Map.Layers">Map.Layers</see> Property in the 
            <see cref="T:ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs">WebMap.GetMapCompletedEventArgs</see> parameter 
            of the <see cref="E:ESRI.ArcGIS.Client.WebMap.Document.GetMapCompleted">WebMap.Document.GetMapCompleted</see> 
            Event.  
            </para>
            <para>
            For a more granular interrogation of the editable characteristics of an individual 
            <see cref="T:ESRI.ArcGIS.Client.Graphic">Graphic</see> in the operational FeatureLayer, you could use the 
            <see cref="P:ESRI.ArcGIS.Client.GraphicsLayer.Graphics">FeatureLayer.Graphics</see> Property to get a 
            <see cref="T:ESRI.ArcGIS.Client.GraphicCollection">GraphicCollection</see> to find a particular Graphic and 
            then determine its atomic level editable characteristics using FeatureLayer Methods like:
            </para>
            <list type="bullet">
              <item><see cref="M:ESRI.ArcGIS.Client.FeatureLayer.IsAddAttachmentAllowed(ESRI.ArcGIS.Client.Graphic)">FeatureLayer.IsAddAttachmentAllowed</see></item>
              <item><see cref="M:ESRI.ArcGIS.Client.FeatureLayer.IsDeleteAllowed(ESRI.ArcGIS.Client.Graphic)">FeatureLayer.IsDeleteAllowed</see></item>
              <item><see cref="M:ESRI.ArcGIS.Client.FeatureLayer.IsDeleteAttachmentAllowed(ESRI.ArcGIS.Client.Graphic)">FeatureLayer.IsDeleteAttachmentAllowed</see></item>
              <item><see cref="M:ESRI.ArcGIS.Client.FeatureLayer.IsGeometryUpdateAllowed(ESRI.ArcGIS.Client.Graphic)">FeatureLayer.IsGeometryUpdateAllowed</see></item>
              <item><see cref="M:ESRI.ArcGIS.Client.FeatureLayer.IsUpdateAllowed(ESRI.ArcGIS.Client.Graphic)">FeatureLayer.IsUpdateAllowed</see></item>
            </list>
            <para>
            <b>NOTE:</b> You cannot access Graphics from the operational FeatureLayer returned from a web map document until the 
            operational <see cref="E:ESRI.ArcGIS.Client.FeatureLayer.UpdateCompleted">FeatureLayer.UpdateCompleted</see> Event has fired. 
            Remember that the FeatureLayer.UpdateCompleted Event occurs after the operational FeatureLayer.Initialized Event occurs. 
            </para>
            <para>
            See the code example in this document for an example of programatically discovering the capabilities of an operational 
            FeatureLayer in a web map document. 
            </para>
            </remarks>
            <example>
            <para>
            <b>How to use:</b>
            </para>
            <para>
            Use ArcGIS Online or ArcGIS Portal to create a web map document that contains and operational FeatureLayer. Experiment 
            by creating one web map document with an operational FeatureLayer that has editing enabled and another web map document 
            with an operational FeatureLayer that does NOT have editing enabled. Copy the web map ID into the textbox and click 
            the button to see the results in the textbox. If the web map has an operational FeatureLayer that is editable, additonal 
            functionlaity is added so that the user can click on Graphics in the returned operational FeatureLayer to obtain more 
            details on the editing abilities.
            </para>
            <para>
            The XAML code in this example is used in conjunction with the code-behind (C# or VB.NET) to demonstrate
            the functionality.
            </para>
            <para>
            The following screen shot corresponds to the code example in this page.
            </para>
            <para>
            <img border="0" alt="Interrogating an operational FeatureLayer in a web map to determine whether it is editable." src="C:\ArcGIS\dotNET\API SDK\Main\ArcGISSilverlightSDK\LibraryReference\images\Client.WebMap.Document_EditableFeatureLayers.png"/>
            </para>
            <code title="Example XAML1" description="" lang="XAML">
            &lt;Grid x:Name="LayoutRoot" &gt;
              
              &lt;!-- Add a Map Control to the application. --&gt;
              &lt;esri:Map x:Name="Map1" WrapAround="True" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,238,0,0" Height="350" Width="415" /&gt;
              
              &lt;!-- 
              Have the user enter a web map document ID with an operational FeatureLayer for testing.
              IMPORTANT: The web map document ID supplied in this example is fictitious. You will need to create your own web map 
              document using ArcGIS Online or ArcGIS Portal and copy the ID in the TextBox_WebMapID.Text Property!
              --&gt;
              &lt;sdk:Label Height="20" HorizontalAlignment="Left" Margin="0,214,0,0" Name="Label1" VerticalAlignment="Top" Width="120" 
              Content="Enter a web map ID:"/&gt;
              &lt;TextBox Height="23" HorizontalAlignment="Left" Margin="121,209,0,0" Name="TextBox_WebMapID" VerticalAlignment="Top" Width="294"
              Text="2c9171b7bddd4c999778df8e19cdc525" /&gt;
              
              &lt;!-- 
              Add a Button that will allow retrieve the web map document and display it in the Map1 Control. The Click Event is wired-up 
              for code-behind. 
              --&gt;
              &lt;Button Name="Button1" Height="23" HorizontalAlignment="Left" Margin="421,209,0,0"  VerticalAlignment="Top" Width="285" 
              Content="Add a WebMap with an operational FeatureLayer" Click="Button1_Click" /&gt;
              
              &lt;!-- TextBox to display information about the operational FeatureLayers added to the Map. --&gt;
              &lt;TextBox Height="350" HorizontalAlignment="Left" Margin="421,238,0,0" Name="TextBox1" VerticalAlignment="Top" Width="285" /&gt;
              
              &lt;!-- Provide the instructions on how to use the sample code. --&gt;
              &lt;TextBlock Height="132" HorizontalAlignment="Left" Name="TextBlock1" VerticalAlignment="Top" Width="788" TextWrapping="Wrap" 
               Text="Use ArcGIS Online or ArcGIS Portal to create a web map document that contains and operational FeatureLayer. Experiment 
               by creating one web map document with an operational FeatureLayer that has editing enabled and another web map document 
               with an operational FeatureLayer that does NOT have editing enabled. Copy the web map ID into the textbox and click 
               the button to see the results in the textbox. If the web map has an operational FeatureLayer that is editable, additonal 
               functionlaity is added so that the user can click on Graphics in the returned operational FeatureLayer to obtain more 
               details on the editing abilities." /&gt;
              
            &lt;/Grid&gt;
            </code>
            <code title="Example CS1" description="" lang="CS">
            private void Button1_Click(object sender, System.Windows.RoutedEventArgs e)
            {
              // Create a new WebMap.Document.
              ESRI.ArcGIS.Client.WebMap.Document myWebMap = new ESRI.ArcGIS.Client.WebMap.Document();
              
              // If you are NOT using Esri's public ArcGIS Online services to host your web map document and you have your own 
              // ArcGIS Portal server, then uncomment the next line of code and enter the correct WebMap.Document.ServerBaseUrl.
              //myWebMap.ServerBaseUrl = "http://www.MyArcGISPortal.com/sharing/rest/content"; 
              
              // Wire up the WebMap.Document.GetMapCompleted Event handler. 
              myWebMap.GetMapCompleted += myWebMap_GetMapCompleted;
              
              // Call the WebMap.Document.GetMapAsync Method (using the web map ID as the input parameter) which will cause an
              // Asynchronous call to an ArcGIS Online/Portal server and return the results in the WebMap.Document.GeMapCompleted Event.
              myWebMap.GetMapAsync(TextBox_WebMapID.Text);
            }
            
            private void myWebMap_GetMapCompleted(object sender, ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs e)
            {
              if (e.Error == null)
              {
                // No Error occurred in processing the web map document.
                
                // Set the Map.Extent to the GeMapCompletedEventArgs.Map.Extent from the returned web map document. 
                Map1.Extent = e.Map.Extent;
                
                // Create a new LayerCollection object.
                ESRI.ArcGIS.Client.LayerCollection myLayerCollection = new ESRI.ArcGIS.Client.LayerCollection();
                
                // Loop through all of the Layer's in the GeMapCompletedEventArgs.Map.Layers from the returned web map document.
                foreach (ESRI.ArcGIS.Client.Layer layer in e.Map.Layers)
                {
                  // In this code example we particularly interested in operational FeatureLayers that are in the web map document.
                  if (layer is ESRI.ArcGIS.Client.FeatureLayer)
                  {
                    // Get the operational FeatureLayer from the LayerCollection.
                    ESRI.ArcGIS.Client.FeatureLayer myOperationalFeatureLayer = layer as ESRI.ArcGIS.Client.FeatureLayer;
                    
                    // Just in case there are any MapTips defined, set them to Nothing/null. This will avoid the MapTip from appearing
                    // when we are trying to do a left mouse button down click on a Graphic to get more information about it's 
                    // editable capabilities.
                    myOperationalFeatureLayer.MapTip = null;
                    
                    // Wire up the operational FeatureLayer.Initialized Event.
                    myOperationalFeatureLayer.Initialized += myFeatureLayer_Initialized;
                  }
                  // Add the Layer to the LayerCollection (can be any type; not just an operational FeatureLayer) .
                  myLayerCollection.Add(layer);
                }
                // IMPORTANT: A Layer can only be added to a single Map object! Because a Map object is returned from the web map document 
                // via the GeMapCompletedEventArgs parameter, we already have the desired Layers in that Map. We need to clear out all of 
                // the Layers in the web map document so that the Layers can be added to the Map1 Control that was defined in XAML.
                e.Map.Layers.Clear();
                
                // Set the Map.Layers Property to that of what was returned from the web map document.
                Map1.Layers = myLayerCollection;
              }
              else
              {
                // There was a problem with the web map document. Display the error message to the user.
                MessageBox.Show(e.Error.ToString());
              }
            }
            
            private void myFeatureLayer_Initialized(object sender, EventArgs e)
            {
              // Get the operational FeatureLayer from the FeatureLayer.Initialized sender parameter.
              ESRI.ArcGIS.Client.FeatureLayer myOperationalFeatureLayer = (ESRI.ArcGIS.Client.FeatureLayer)sender;
              
              // Determine if we have any editable operational FeatureLayer.
              bool myFeatureLayerIsReadOnly = myOperationalFeatureLayer.IsReadOnly;
              
              // Create a new StringBuilder container.
              System.Text.StringBuilder returnString = new System.Text.StringBuilder();
              
              // Add information to the user about the editablity of the operational FeatureLayer to the StringBuilder object.
              returnString.Append("The operational FeatureLayer" + Environment.NewLine);
              returnString.Append(myOperationalFeatureLayer.DisplayName + " IsReadOnly: " + myFeatureLayerIsReadOnly.ToString() + Environment.NewLine);
              
              if (myFeatureLayerIsReadOnly == false)
              {
                // We have an operational FeatureLayer that has editing capabilities enabled.
                
                // Wire up the operational FeatureLayer.MouseLeftButtonDown Event handler so that we can click on Graphics in the 
                // operational FeatureLayer to find out more information on exactly what editable properties are available.
                myOperationalFeatureLayer.MouseLeftButtonDown += myOperationalFeatureLayer_MouseLeftButtonDown;
                
                // Inform the user that they can click with the mouse cursor on a Graphic to get more details. 
                returnString.Append("Click on a Graphic to see more details." + Environment.NewLine);
              }
              // Display information about the operational FeatureLayer to the user.
              TextBox1.Text = TextBox1.Text + Environment.NewLine + returnString.ToString();
            }
            
            private void myOperationalFeatureLayer_MouseLeftButtonDown(object sender, ESRI.ArcGIS.Client.GraphicMouseButtonEventArgs e)
            {
              // Get the operational FeatureLayer from the FeatureLayer.MouseLeftButtonDown sender parameter.
              ESRI.ArcGIS.Client.FeatureLayer myOperationalFeatureLayer = (ESRI.ArcGIS.Client.FeatureLayer)sender;
              
              // Get a specific Graphic from the operational FeatureLayer.MouseLeftButtonDown e parameter.
              ESRI.ArcGIS.Client.Graphic myGraphic = e.Graphic;
              
              // Create a new StringBuilder container.
              System.Text.StringBuilder returnString = new System.Text.StringBuilder();
              
              // Add information to the user about the editablity of the user clicked Graphic in the operational FeatureLayer to the StringBuilder object.
              returnString.Append("Graphic.IsAttachmentAllowed: " + myOperationalFeatureLayer.IsAddAttachmentAllowed(myGraphic).ToString() + Environment.NewLine);
              returnString.Append("Graphic.IsDeleteAllowed: " + myOperationalFeatureLayer.IsDeleteAllowed(myGraphic).ToString() + Environment.NewLine);
              returnString.Append("Graphic.IsDeleteAttachmentAllowed: " + myOperationalFeatureLayer.IsDeleteAttachmentAllowed(myGraphic).ToString() + Environment.NewLine);
              returnString.Append("Graphic.IsGeometryUpdateAllowed: " + myOperationalFeatureLayer.IsGeometryUpdateAllowed(myGraphic).ToString() + Environment.NewLine);
              returnString.Append("Graphic.IsUpdateAllowed: " + myOperationalFeatureLayer.IsUpdateAllowed(myGraphic).ToString() + Environment.NewLine);
              
              // Display information about the user clicked Graphic in the operational FeatureLayer to the user.
              TextBox1.Text = TextBox1.Text + Environment.NewLine + returnString.ToString();
            }
            </code>
            <code title="Example VB1" description="" lang="VB.NET">
            Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
              
              ' Create a new WebMap.Document.
              Dim myWebMap As ESRI.ArcGIS.Client.WebMap.Document = New ESRI.ArcGIS.Client.WebMap.Document
              
              ' If you are NOT using Esri's public ArcGIS Online services to host your web map document and you have your own 
              ' ArcGIS Portal server, then uncomment the next line of code and enter the correct WebMap.Document.ServerBaseUrl.
              'myWebMap.ServerBaseUrl = "http://www.MyArcGISPortal.com/sharing/rest/content" 
              
              ' Wire up the WebMap.Document.GetMapCompleted Event handler. 
              AddHandler myWebMap.GetMapCompleted, AddressOf myWebMap_GetMapCompleted
              
              ' Call the WebMap.Document.GetMapAsync Method (using the web map ID as the input parameter) which will cause an
              ' Asynchronous call to an ArcGIS Online/Portal server and return the results in the WebMap.Document.GeMapCompleted Event.
              myWebMap.GetMapAsync(TextBox_WebMapID.Text)
              
            End Sub
            
            Private Sub myWebMap_GetMapCompleted(sender As Object, e As ESRI.ArcGIS.Client.WebMap.GetMapCompletedEventArgs)
              
              If e.Error Is Nothing Then
                
                ' No Error occurred in processing the web map document.
                
                ' Set the Map.Extent to the GeMapCompletedEventArgs.Map.Extent from the returned web map document. 
                Map1.Extent = e.Map.Extent
                
                ' Create a new LayerCollection object.
                Dim myLayerCollection As ESRI.ArcGIS.Client.LayerCollection = New ESRI.ArcGIS.Client.LayerCollection()
                
                ' Loop through all of the Layer's in the GeMapCompletedEventArgs.Map.Layers from the returned web map document.
                For Each layer As ESRI.ArcGIS.Client.Layer In e.Map.Layers
                  
                  ' In this code example we particularly interested in operational FeatureLayers that are in the web map document.
                  If TypeOf layer Is ESRI.ArcGIS.Client.FeatureLayer Then
                    
                    ' Get the operational FeatureLayer from the LayerCollection.
                    Dim myOperationalFeatureLayer As ESRI.ArcGIS.Client.FeatureLayer = TryCast(layer, ESRI.ArcGIS.Client.FeatureLayer)
                    
                    ' Just in case there are any MapTips defined, set them to Nothing/null. This will avoid the MapTip from appearing
                    ' when we are trying to do a left mouse button down click on a Graphic to get more information about it's 
                    ' editable capabilities.
                    myOperationalFeatureLayer.MapTip = Nothing
                    
                    ' Wire up the operational FeatureLayer.Initialized Event.
                    AddHandler myOperationalFeatureLayer.Initialized, AddressOf myFeatureLayer_Initialized
                    
                  End If
                  
                  ' Add the Layer to the LayerCollection (can be any type; not just an operational FeatureLayer) .
                  myLayerCollection.Add(layer)
                  
                Next layer
                
                ' IMPORTANT: A Layer can only be added to a single Map object! Because a Map object is returned from the web map document 
                ' via the GeMapCompletedEventArgs parameter, we already have the desired Layers in that Map. We need to clear out all of 
                ' the Layers in the web map document so that the Layers can be added to the Map1 Control that was defined in XAML.
                e.Map.Layers.Clear()
                
                ' Set the Map.Layers Property to that of what was returned from the web map document.
                Map1.Layers = myLayerCollection
                
              Else
                
                ' There was a problem with the web map document. Display the error message to the user.
                MessageBox.Show(e.Error.ToString)
                
              End If
              
            End Sub
            
            Private Sub myFeatureLayer_Initialized(sender As Object, e As EventArgs)
              
              ' Get the operational FeatureLayer from the FeatureLayer.Initialized sender parameter.
              Dim myOperationalFeatureLayer As ESRI.ArcGIS.Client.FeatureLayer = sender
              
              ' Determine if we have any editable operational FeatureLayer.
              Dim myFeatureLayerIsReadOnly As Boolean = myOperationalFeatureLayer.IsReadOnly
              
              ' Create a new StringBuilder container.
              Dim returnString As New System.Text.StringBuilder
              
              ' Add information to the user about the editablity of the operational FeatureLayer to the StringBuilder object.
              returnString.Append("The operational FeatureLayer" + vbCrLf)
              returnString.Append(myOperationalFeatureLayer.DisplayName + " IsReadOnly: " + myFeatureLayerIsReadOnly.ToString + vbCrLf)
              
              If myFeatureLayerIsReadOnly = False Then
                
                ' We have an operational FeatureLayer that has editing capabilities enabled.
                
                ' Wire up the operational FeatureLayer.MouseLeftButtonDown Event handler so that we can click on Graphics in the 
                ' operational FeatureLayer to find out more information on exactly what editable properties are available.
                AddHandler myOperationalFeatureLayer.MouseLeftButtonDown, AddressOf myOperationalFeatureLayer_MouseLeftButtonDown
                
                ' Inform the user that they can click with the mouse cursor on a Graphic to get more details. 
                returnString.Append("Click on a Graphic to see more details." + vbCrLf)
                
              End If
              
              ' Display information about the operational FeatureLayer to the user.
              TextBox1.Text = TextBox1.Text + vbCrLf + returnString.ToString
              
            End Sub
            
            Private Sub myOperationalFeatureLayer_MouseLeftButtonDown(sender As Object, e As ESRI.ArcGIS.Client.GraphicMouseButtonEventArgs)
              
              ' Get the operational FeatureLayer from the FeatureLayer.MouseLeftButtonDown sender parameter.
              Dim myOperationalFeatureLayer As ESRI.ArcGIS.Client.FeatureLayer = sender
              
              ' Get a specific Graphic from the operational FeatureLayer.MouseLeftButtonDown e parameter.
              Dim myGraphic As ESRI.ArcGIS.Client.Graphic = e.Graphic
              
              ' Create a new StringBuilder container.
              Dim returnString As New System.Text.StringBuilder
              
              ' Add information to the user about the editablity of the user clicked Graphic in the operational FeatureLayer to the StringBuilder object.
              returnString.Append("Graphic.IsAttachmentAllowed: " + myOperationalFeatureLayer.IsAddAttachmentAllowed(myGraphic).ToString + vbCrLf)
              returnString.Append("Graphic.IsDeleteAllowed: " + myOperationalFeatureLayer.IsDeleteAllowed(myGraphic).ToString + vbCrLf)
              returnString.Append("Graphic.IsDeleteAttachmentAllowed: " + myOperationalFeatureLayer.IsDeleteAttachmentAllowed(myGraphic).ToString + vbCrLf)
              returnString.Append("Graphic.IsGeometryUpdateAllowed: " + myOperationalFeatureLayer.IsGeometryUpdateAllowed(myGraphic).ToString + vbCrLf)
              returnString.Append("Graphic.IsUpdateAllowed: " + myOperationalFeatureLayer.IsUpdateAllowed(myGraphic).ToString + vbCrLf)
              
              ' Display information about the user clicked Graphic in the operational FeatureLayer to the user.
              TextBox1.Text = TextBox1.Text + vbCrLf + returnString.ToString
              
            End Sub
            
            </code>
            </example>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Document.IsBaseMapProperty">
            <summary>
            Indicates whether the layer is a base map layer in the web map document.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Document.WebMapDataProperty">
            <summary>
            The data associated with the layer in the web map document.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Document.PopupTemplatesProperty">
            <summary>
            The popup DataTemplate for map service layers.
            </summary>
            <remarks>
            <para>
            This is an attached property on the 
            <see cref="T:ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer">ArcGISDynamicMapServiceLayer</see> and 
            <see cref="T:ESRI.ArcGIS.Client.ArcGISTiledMapServiceLayer">ArcGISTiledMapServiceLayer</see>. 
            It references a Dictionary of DataTemplates.
            </para>
            </remarks>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Document.PopupTemplateProperty">
            <summary>
            The popup DataTemplate for a GraphicsLayer.
            </summary>
            <remarks>
            <para>
            This is an attached property on the <see cref="T:ESRI.ArcGIS.Client.GraphicsLayer">GraphicsLayer</see> 
            (feature collection in a webmap) or <see cref="T:ESRI.ArcGIS.Client.GraphicsLayer">FeatureLayer</see> 
            (feature layer in a map or feature service).
            </para>
            </remarks>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Document.LayerUrlsProperty">
            <summary>
            The dictionary of layer URL's used for all queries against each layer, which includes popups, attribute queiries, etc.
            </summary>
            <remarks>
            <para>
            This is an attached property on the 
            <see cref="T:ESRI.ArcGIS.Client.ArcGISTiledMapServiceLayer">ArcGISTiledMapServiceLayer</see>. 
            It references a Dictionary of layer URL's
            </para>
            </remarks>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.Document.ItemIdProperty">
            <summary>
            The arcgis.com ItemId for the individual layer.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.Document"/> class.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetIsBaseMap(System.Windows.DependencyObject)">
            <summary>
            Gets the IsBaseMap property.
            </summary>
            <param name="document">The document.</param>
            <returns></returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.SetIsBaseMap(System.Windows.DependencyObject,System.Boolean)">
            <summary>
            Sets the IsBaseMap property.
            </summary>
            <param name="document">The document.</param>
            <param name="value">if set to <c>true</c> [value].</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetItemAsync(System.String,System.Object)">
            <summary>
            Gets map item metadata.
            </summary>
            <param name="itemId">The item id.</param>
            <param name="userToken"> A user-defined object that is passed to 
            the method invoked when the asynchronous operation completes.</param>
            <seealso cref="E:ESRI.ArcGIS.Client.WebMap.Document.GetItemCompleted"/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetItemInternal(System.String,System.Action{ESRI.ArcGIS.Client.WebMap.ItemInfo,System.Exception})">
            <summary>
            Downloads the Item Info JSON and parses the information using the JavaScriptSerializer.
            </summary>
            <param name="itemId"></param>
            <param name="complete"></param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapAsync(System.String,System.Object)">
            <summary>
            Creates a map from ArcGIS Online based on its Item ID.
            </summary>
            <param name="itemId">The item ID of an ArcGIS web map in ArcGIS online.</param>
            <param name="userToken"> A user-defined object that is passed to 
            the method invoked when the asynchronous operation completes.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.CheckMapServiceItems(ESRI.ArcGIS.Client.Map,System.Action)">
            <summary>
            This method is used to loop through all layers in the layer collection
            and check for any items that could be a map service item. map service
            items contain additional information such as popup info that needs
            to be added to the layer.
            </summary>
            <param name="map">The Map to check for map service items.</param>
            <param name="callback">callback handler to return from async method.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapServiceItem(ESRI.ArcGIS.Client.Layer,System.Action)">
            <summary>
            This method preforms the request based on item id to arcgis.com to see if 
            any additional information is found for the item. Additional information may
            be present for map service items if they are configured. If no additional information
            is configured the reseult should be an empty string.
            </summary>		
            <param name="layer">The layer that will recived addtional information if information is found on arcgis.com.</param>
            <param name="callback">The callback handler to ruturn from async method.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapAsync(ESRI.ArcGIS.Client.WebMap.ItemInfo,System.Object)">
            <summary>
            Creates a map from ArcGIS Online based on an Item ID.
            </summary>
            <param name="item">The item of an ArcGIS web map in ArcGIS online.</param>
            <param name="userToken"> A user-defined object that is passed to 
            the method invoked when the asynchronous operation completes.</param>
            <seealso cref="M:ESRI.ArcGIS.Client.WebMap.Document.GetItemAsync(System.String,System.Object)"/>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapInternal(ESRI.ArcGIS.Client.WebMap.ItemInfo,System.Action{ESRI.ArcGIS.Client.Map,ESRI.ArcGIS.Client.Geometry.SpatialReference,ESRI.ArcGIS.Client.WebMap.TimeProperties,ESRI.ArcGIS.Client.WebMap.WebMap,System.Exception})">
            <summary>
            Gets a map based on an Item ID. Will also update the Map's extent
            based on the ItemInfo.Extent property.
            </summary>
            <param name="item"></param>
            <param name="complete"></param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapInternal(System.String,System.Action{ESRI.ArcGIS.Client.Map,ESRI.ArcGIS.Client.Geometry.SpatialReference,ESRI.ArcGIS.Client.WebMap.TimeProperties,ESRI.ArcGIS.Client.WebMap.WebMap,System.Exception})">
            <summary>
            Downloads WebMapDoc JSON and sends it to the Map JSON parser.
            </summary>
            <param name="url"></param>
            <param name="complete"></param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapAsync(ESRI.ArcGIS.Client.WebMap.WebMap,System.Object)">
            <summary>
            Gets the map from a <see cref="T:ESRI.ArcGIS.Client.WebMap.WebMap"/>.
            </summary>
            <param name="webMap">The web map.</param>
            <param name="userToken">The user token.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapFromJsonAsync(System.String,System.Object)">
            <summary>
            Creates a map from a JSON Web Map Document.
            </summary>
            <param name="json">The JSON format of the Web Map Document.</param>
            <param name="userToken"> A user-defined object that is passed to 
            the method invoked when the asynchronous operation completes.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapFromJsonInternal(System.String,System.Action{ESRI.ArcGIS.Client.Map,ESRI.ArcGIS.Client.Geometry.SpatialReference,ESRI.ArcGIS.Client.WebMap.TimeProperties,ESRI.ArcGIS.Client.WebMap.WebMap,System.Exception})">
            <summary>
            Creates a map from a JSON web map document.
            </summary>
            <param name="json">The JSON format of the web map document.</param>
            <param name="onComplete">The callback method returning a <seealso cref="T:ESRI.ArcGIS.Client.Map"/> populated 
            by a layer collection from the given ArcGIS web map ID.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapFromWebMap(ESRI.ArcGIS.Client.WebMap.WebMap,System.Action{ESRI.ArcGIS.Client.Map,ESRI.ArcGIS.Client.Geometry.SpatialReference,ESRI.ArcGIS.Client.WebMap.TimeProperties,ESRI.ArcGIS.Client.WebMap.WebMap,System.Exception})">
            <summary>
            Creates a map from a webMap.
            </summary>
            <param name="webMap">The web map.</param>
            <param name="onComplete">The callback method returning a <seealso cref="T:ESRI.ArcGIS.Client.Map"/> </param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Document.ServerBaseUrl">
            <summary>
            Gets or sets the server base URL from where items can be loaded.
            </summary>
            <remarks>
            If not set, defaults to ArcGIS Online: &quot;http://www.arcgis.com/sharing/rest/content&quot;
            </remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Document.BingToken">
            <summary>
            The token for being used by Bing Maps.
            If this is not set, Bing maps layers will not load until the token
            has been set.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Document.ProxyUrl">
            <summary>
            URL to proxy the requests through when necessary.
            If this is not set, layers that require a proxy will not be loaded.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Document.Token">
            <summary>
            Gets or sets the token.
            If this property is not set, non-public documents will not be loaded.
            </summary>
            <value>The token.</value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Document.GeometryServiceUrl">
            <summary>
            Gets or sets the geometry service URL.
            </summary>
            <remarks>
            The geometry service URL is required if the web map document specifies
            a spatial reference different from WGS84 geographic coordinates or
            WebMercator. If this is not specified, the map will load at full extent.
            Note that extent is not set if the map is created from 
            <see cref="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapFromJsonAsync(System.String,System.Object)"/> and will also load
            at full extent.
            </remarks>
        </member>
        <member name="E:ESRI.ArcGIS.Client.WebMap.Document.GetMapCompleted">
            <summary>
            Fired when the <see cref="M:ESRI.ArcGIS.Client.WebMap.Document.GetMapAsync(System.String,System.Object)"/> completes.
            </summary>
        </member>
        <member name="E:ESRI.ArcGIS.Client.WebMap.Document.GetItemCompleted">
            <summary>
            Fired when the <see cref="M:ESRI.ArcGIS.Client.WebMap.Document.GetItemAsync(System.String,System.Object)"/> completes.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.BaseMap">
            <summary>
            Represents the basemap layers of a web map.
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.WebMap.WebMap.BaseMap"/>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.WebMapObject">
            <summary>
            Base class for all WebMap objects.
            Add support for custom properties.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapObject.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.WebMapObject"/> class.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapObject.GetCustomProperty(System.String)">
            <summary>
            Gets the custom property.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <returns></returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapObject.AddCustomProperty(System.String,System.Object)">
            <summary>
            Adds the custom property.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="value">The value.</param>
        </member>
        <member name="E:ESRI.ArcGIS.Client.WebMap.WebMapObject.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.BaseMap.FromJson(System.String)">
            <summary>
            Creates a BaseMap from a string in JSON format.
            </summary>
            <param name="json">The BaseMap JSON.</param>
            <returns>The deserialized BaseMap.</returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.BaseMap.Title">
             <summary>
            Gets or sets the title of the basemap layer(s).
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.BaseMap.Layers">
             <summary>
            Gets or sets the basemap layer(s) of a webmap. 
             </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Bookmark">
            <summary>
            Represents a spatial bookmark in a WebMap.
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.WebMap.WebMap.Bookmarks"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Bookmark.Name">
             <summary>
            Gets or sets the name of the bookmark.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Bookmark.Extent">
             <summary>
            Gets or sets the geographic location of the bookmark. 
             </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.MediaType">
            <summary>
            Type of media in a popup.
            </summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.MediaType.Image">
            <summary>Image</summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.MediaType.ColumnChart">
            <summary>Column chart</summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.MediaType.PieChart">
            <summary>Pie chart</summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.MediaType.LineChart">
            <summary>Line chart</summary>
        </member>
        <member name="F:ESRI.ArcGIS.Client.WebMap.MediaType.BarChart">
            <summary>Bar chart</summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.FeatureCollection">
            <summary>
            Instances of this class represent feature collections.
            A feature collection is a representation of one or more feature layers, where each layer contains the definition of that layer and the features that belong to that layer.
            In other words, the feaure layer contains all the information it needs to display map contents, and it does not rely on a backing map or feature service. 
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.FeatureCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.FeatureCollection"/> class.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FeatureCollection.SubLayers">
             <summary>
            Gets or sets the sub-layers of the feature collection.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FeatureCollection.ShowLegend">
            <summary>
            Gets or sets a value indicating whether to show legend for the feature collection.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.FieldInfo">
            <summary>
            Instances of this class represent how a graphic's attribute (field) should be displayed in a popup.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FieldInfo.FieldName">
             <summary>
            Gets or sets the name of the field.
             </summary>
             <value>
             The name of the field.
             </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FieldInfo.IsEditable">
            <summary>
            Gets a value indicating whether the field is editable (for edit popup)
            </summary>
            <value>
            	<c>true</c> if the field is editable; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FieldInfo.Label">
             <summary>
            Gets or sets the label that is shown for this field in the popup. 
             </summary>
             <remarks>The default is the alias but can be overridden within the webmap.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FieldInfo.ToolTip">
             <summary>
            Gets or sets the tool tip that is shown for this field in the popup (for edit popup).
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FieldInfo.Visible">
            <summary>
            Gets a value indicating whether this field should be visible.
            </summary>
            <value>
              <c>true</c> if visible; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FieldInfo.Format">
             <summary>
            Gets or sets the format that drives the formatting of the field when used in the application.
             Applies anywhere the field is used in the popup (media, title, description, etc.).
             Applies only to fields of type date or number.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FieldInfo.InputType">
             <summary>
            Gets or sets the type of input for the string value (for edit popup).
             </summary>
             <value>
             The type of input : richtext, textarea or textbox.
             </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.FormatInfo">
            <summary>
            Represents the formatting of a field when used in the application.
            Applies only to fields of type date or number (float, double, integer).
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.FormatInfo.GetFormattedValue(System.Object)">
            <summary>
            Gets the value formatted using the format info.
            </summary>
            <param name="value">The value to format.</param>
            <returns></returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FormatInfo.ShowDigitSeparator">
            <summary>
            Gets or sets a value indicating whether the number should have a decimal separator.
            Depending on locale this would be a comma or a decimal point.
            Applies to numeric fields only. 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FormatInfo.NumDecimalPlaces">
            <summary>
            Gets or sets the number of decimal places that are shown for numeric values in this field.
            Applies to numeric fields only. 
            </summary>
            <value>
            The number of decimal places.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.FormatInfo.DateFormat">
            <summary>
            Gets or sets the format in which to display dates for this field.
            Applies to date fields only. 
            </summary>
            <value>
            The date format.
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.MediaInfo">
            <summary>
            Represents the media that is displayed in a popup for a graphic.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfo.Caption">
             <summary>
            Gets or sets the caption that is displayed for the media.
             This can contain a literal value, or a placeholder for value from the graphic's attribute for which the popup is displayed.
             The placeholder needs to be of the form {field_name} where field_name is a key in the graphic's attributes.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfo.Title">
             <summary>
            Gets or sets the title that is displayed for the media.
             This can contain a literal value, or a placeholder for value from the graphic's attribute for which the popup is displayed.
             The placeholder needs to be of the form {field_name} where field_name is a key in the graphic's attributes. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfo.Value">
            <summary>
            Gets or sets the media info value that are depending on the type of media.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfo.Type">
             <summary>
            Gets or sets the type of media.
             </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.MediaInfoValue">
            <summary>
            Represents the media info values that are depending on the type of media.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfoValue.SourceUrl">
            <summary>
            Gets or sets the source URL for an image media.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfoValue.LinkUrl">
            <summary>
            Gets or sets the link URL for an image media.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfoValue.NormalizeField">
            <summary>
            Gets or sets the optional field used to normaize the chart.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.MediaInfoValue.Fields">
            <summary>
            Gets or sets the fields to display in the chart.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.PopupInfo">
            <summary>
            Instances of this class represent popup definitions for features that need to be displayed in popups.
            Popup definitions contain information such as:
            <list type="bullet">
            <item>Which attributes of the feature should the popup display, whether they are editable, how to format numbers and dates, etc</item>
            <item>Whether the popup should show attachments for the feature</item>
            <item>What media, such as charts and images, should be displayed for the feature</item>
            </list>
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.PopupInfo"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.PopupInfo.Description">
            <summary>
            Gets or sets the description that is shown for the graphic in the popup.
            This can be html. If description is null then the fieldInfos are used when viewing attributes.
            This can contain a literal value, or a placeholder for value from the graphic's attribute.
            The placeholder needs to be of the form {field_name} where field_name is a key in the graphic's attributes. 
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.PopupInfo.Title">
             <summary>
            Gets or sets the title that is displayed for the graphic in the popup.
             This can contain a literal value, or a placeholder for value from the graphic's attribute.
             The placeholder needs to be of the form {field_name} where field_name is a key in the graphic's attributes.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.PopupInfo.ShowAttachments">
            <summary>
            Gets a value indicating whether the popup should show attachments of the graphic. 
            </summary>
            <value>
              <c>true</c> if the popup should show attachments of the graphic; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.PopupInfo.FieldInfos">
             <summary>
            Gets or sets the fields that are to be displayed in the popup.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.PopupInfo.MediaInfos">
             <summary>
            Gets or sets the medias that are to be displayed in the popup.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.PopupInfo.LayerInfo">
            <summary>
            FeatureLayer info used to find CodedValue domains for display text.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.PopupInfo.PopupInfoTemplate">
            <summary>
            The layout template of the <see cref="T:ESRI.ArcGIS.Client.WebMap.PopupInfo"/>.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Query">
            <summary>
            Instances of this class represent predefined queries stored in a web map.
            The query contains information that can be combined with user input to execute queries using the a <see cref="T:ESRI.ArcGIS.Client.Tasks.QueryTask"/>. 
            </summary>
            <seealso cref="P:ESRI.ArcGIS.Client.WebMap.Tasks.Queries"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Query.Name">
             <summary>
            Gets or sets the name of the query in the Webmap.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Query.Url">
             <summary>
            Gets or sets the URL of the layer to queryThe URL of the layer to query.
             The URL points to a REST resource that represents a layer in a Map, Image, or Feature service.
             This URL can be used to instantiate a <see cref="T:ESRI.ArcGIS.Client.Tasks.QueryTask"/>.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Query.DisplayField">
             <summary>
            Gets or sets the name of the field that should be used in display.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Query.WhereClause">
             <summary>
            Gets or sets the general structure of an SQL where clause to perform the query.
             The clause contains numbered placeholders such as {0} {1} which need to be replaced with predicates that are constructed from items in the parameters list.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Query.VisibleFields">
             <summary>
            Gets or sets the fields that must be returned in the results.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Query.Parameters">
             <summary>
            Gets or sets the parameters representing the predicates to be used in the WhereClause. 
             </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.QueryParameter">
            <summary>
            Instances of this class can be used to construct a predicate for <see cref="P:ESRI.ArcGIS.Client.WebMap.Query.WhereClause"/>.
            The application should provide UI to capture input from the user for each QueryParameter object in <see cref="P:ESRI.ArcGIS.Client.WebMap.Query.Parameters"/>.
            This input can then be combined with the remaining information in the object to construct a predicate.
            For example, suppose the value of field is "Magnitude", Operator is "=", and the value entered by a user is 2.
            This information can be combined into a string "Magnitude = 2" which can then be used in a whereClause to query for earthqukes with a magnitude of 2.
            </summary>
            <seealso cref="T:ESRI.ArcGIS.Client.WebMap.Query"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.QueryParameter.DefaultValue">
             <summary>
            Gets or sets the default value to compare with the field's value in the event that a user does not provide another value.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.QueryParameter.Field">
             <summary>
            Gets or sets the name of the field (attribute) on which the query will be executed. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.QueryParameter.Prompt">
             <summary>
            Gets or sets the message to be displayed to the user to indicate what the user input represents.
             For example, "Earthquake Magnitude:". This message should usually be displayed adjacent to the textfield. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.QueryParameter.HelpTip">
             <summary>
            Gets or sets the help tip explaining what input would be valid. For example, "A value between 0 and 10". 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.QueryParameter.Operator">
             <summary>
            Gets or sets the operator (&lt;, &gt;, =, etc) to be used to compare the field's value. 
             </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Tasks">
            <summary>
            Represents a task authored with the WebMap.
            </summary>
            <remarks>The type of tasks include query, find but currently only query tasks are exposed.</remarks>
            <seealso cref="T:ESRI.ArcGIS.Client.WebMap.Query"/>
            <seealso cref="P:ESRI.ArcGIS.Client.WebMap.WebMap.Tasks"/>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Tasks.Queries">
             <summary>
            Gets or sets the predefined queries that were authored with this webmap.
             </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter">
            <summary>
            General purpose class for writing out JSON.  Can optionally format the output
            in a "pretty" format with carriage returns, white space, and indenting for ease of reading.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.#ctor(System.IO.TextWriter,System.Int32)">
            <summary>
            Initializes a new instance of the JsonWriter class that renders 
            "pretty" JSON.
            </summary>
            <param name="writer">The TextWriter instance to use to write out JSON.</param>
            <param name="indent">The number of spaces to use for indenting.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.#ctor(System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the JsonWriter class that writes to a 
            single compact line.
            </summary>
            <param name="writer">The TextWriter instance to use to write out 
            JSON.</param>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartObject">
            <summary>
            Writes a left brace to start a new object.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartObjectIndented">
            <summary>
            Writes a left brace to start a new object.
            If Pretty=true the brace will written on a new line.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartAppendObjectIndented">
            <summary>
            Writes a comma followed by a left brace to start a new object.
            If Pretty=true the brace will written on a new line.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.EndObject">
            <summary>
            Writes a right brace to end the current object.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.EndObjectIndented">
            <summary>
            Writes the closing right brace to the current object.
            If Pretty=true the brace will written on a new line.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartArray">
            <summary>
            Writes a left bracket to start a new array.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartArrayIndented">
            <summary>
            Writes a left bracket to start a new array.
            If Pretty=true the bracket will written on a new line.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.EndArray">
            <summary>
            Writes a right bracket to end the current array.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.EndArrayIndented">
            <summary>
            Writes the closing right bracket to the current array.
            If Pretty=true the bracket will written on a new line.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartProperty(System.String)">
            <summary>
            Writes the property name followed by a colon.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartPropertyIndented(System.String)">
            <summary>
            Writes the property name followed by a colon.
            If Pretty=true the property will be started on a new line.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartAppendProperty(System.String)">
            <summary>
            Writes a comma followed by the property name followed by a colon.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.StartAppendPropertyIndented(System.String)">
            <summary>
            Writes a comma followed by the property name followed by a colon.
            If Pretty=true the property will be started on a new line.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.BuildDynamicLayerEntry(ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter,System.Int32,ESRI.ArcGIS.Client.LayerSource,ESRI.ArcGIS.Client.LayerDrawingOptions,System.String,ESRI.ArcGIS.Client.Tasks.TimeOption,System.Boolean)">
            <summary>
            Writes a dynamic layer to a JSON writer.
            </summary>
            <param name="jw">The JSON Writer instance to write to (required).</param>
            <param name="layerID">The ID of the layer (required).</param>
            <param name="source">The layer source (required).</param>
            <param name="option">The Drawing Options (optional).</param>
            <param name="definitionExpression">The definition expression (optional).</param>
            <param name="layerTimeOption">The layer time option.</param>
            <param name="insideLayerDefinition">if set to <c>true</c> [inside layer definition].</param>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.Writer">
            <summary>
            The TextWriter instance used for writing out JSON.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.Utils.JsonWriter.Pretty">
            <summary>
            If true, line returns and indenting are added when writing out JSON for readability.
            If false, the JSON is written out in a single contiguous line.
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.WebMap">
            <summary>
            Instances of this class represent a webmap.
            A webmap is essentially a simple configuration file that describes the contents to be displayed in a map.
            You can use, create, and share webmaps interactively on www.ArcGIS.com or your own ArcGIS Portal.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMap.ToJson(System.Boolean)">
            <summary>
            Serializes the WebMap to JSON
            </summary>
            <param name="pretty">if set to <c>true</c>, returns pretty JSON.</param>
            <returns>
            The json string.
            </returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMap.FromJson(System.String)">
            <summary>
            Creates a WebMap from a string in JSON format.
            </summary>
            <param name="json">The WebMap JSON.</param>
            <returns>The deserialized WebMap.</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMap.FromPortalItemAsync(ESRI.ArcGIS.Client.Portal.ArcGISPortalItem,System.Action{ESRI.ArcGIS.Client.WebMap.WebMap,System.Exception})">
            <summary>
            Creates asynchronously a WebMap from an ArcGIS Portal item.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMap.IsValid(ESRI.ArcGIS.Client.WebMap.WebMap)">
            <summary>
            Determines whether the specified webmap is valid.
            A webMap must have either a basemap or a list of operationLayers else we considerer the webmap has been deserialized from a wrong json string
            </summary>
            <param name="webmap">The webmap.</param>
            <returns>
              <c>true</c> if the specified webmap is valid; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMap.Version">
             <summary>
            Gets or sets the webmap version.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMap.BaseMap">
             <summary>
            Gets or sets the basemap layer(s) in this webmap. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMap.OperationalLayers">
             <summary>
            Gets or sets the operational layers in this webmap. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMap.Tasks">
             <summary>
            Gets or sets the predefined tasks that were authored with this webmap. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMap.Bookmarks">
             <summary>
            Gets or sets the bookmarks that this WebMap contains. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMap.InitialExtent">
            <summary>
            Gets or sets the initial extent coming from the portal item.
            Not public for now since that would need enhancements in WebMapDocument to take care of any SR.
            </summary>
            <value>
            The initial extent (in WGS84). 
            </value>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.WebMapLayer">
            <summary>
            Instances of this class represent information about top-level layers (such as map service layer, bing maps layer, openstreetmap layer, feature layer, feature collection, wms layer, etc) in the web map.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapLayer.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:ESRI.ArcGIS.Client.WebMap.WebMapLayer"/> class.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapLayer.FromJson(System.String)">
            <summary>
            Creates a WebMapLayer from a string in JSON format.
            </summary>
            <param name="json">The WebMapLayer JSON.</param>
            <returns>The deserialized WebMapLayer.</returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.Url">
             <summary>
            Gets or sets the URL of the layer's backing service.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.IsReference">
            <summary>
            Gets a value indicating whether the layer should be drawn on top of all other layers in the web map.
            Else, it should be drawn based on the order it was stored in the web map.
            This property only applies to basemap layers, not to operational layers. 
            </summary>
            <value>
            	<c>true</c> if this layer should be drawn on top of all other layers; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.ItemId">
             <summary>
            Gets or sets the id of an item containing default information for the layer.
             The item resides on the same portal as the webmap. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.Visibility">
            <summary>
            Gets a value indicating whether the layer is visible or not.
            </summary>
            <value>
              <c>true</c> if the layer is visible; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.ShowLegend">
            <summary>
            Gets or sets a value indicating whether to show legend.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.Opacity">
             <summary>
            Gets or sets the opacity of the layer.
             If the value is 1, the layer is fully opaque. If 0, the layer is fully transparent. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.Id">
             <summary>
            Gets or sets the id of the layer in the webmap.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.Title">
             <summary>
            Gets or sets the title of the layer in the webmap.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.Type">
             <summary>
            Gets or sets the type of the layer.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.VisibleLayers">
             <summary>
            Gets or sets the sub-layer ids that should be visible.
             </summary>
             <remarks>A sub layer id is most generally an integer but may be a string for some layer types such as the WMS layer.</remarks>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.SubLayers">
             <summary>
            Gets or sets the sub-layers of the layer.
             For example, if the layer is based on an ArcGIS map service. Each sublayer will have an id and optionally a popup definition. 
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.PopupInfo">
             <summary>
            Gets or sets the popup definition for the layer.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.FeatureCollection">
             <summary>
            Gets or sets the feature collection for the layer.
            Only applicable if the layer is a feature collection.
             A feature collection is a representation of one or more feature layers, where each layer contains the definition of that layer and the features that belong to that layer.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.Mode">
            <summary>
            Gets or sets the feature layer query mode.
            Only applies if the layer is a feature layer.
            </summary>
            <value>
            The query mode.
            </value>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.MinimumScale">
             <summary>
            Gets or sets the minimum scale of the layer in the webmap.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapLayer.MaximumScale">
             <summary>
            Gets or sets the maximum scale of the layer in the webmap.
             </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer">
            <summary>
            Represents sub-layers of a top level layer in a webmap.
            The sub-layers may be individual feature layers belonging to a FeatureCollection, or they may be sub-layers of a map service layer.
            </summary>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.ToDictionary(ESRI.ArcGIS.Client.Tasks.FeatureSet)">
            <summary>
            Converts a featureSet to a JSON dictionary.
            </summary>
            <param name="featureSet">The feature set.</param>
            <returns>The JSON dictionary</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.ToDictionary(ESRI.ArcGIS.Client.Geometry.SpatialReference)">
            <summary>
            Converts a spatial reference to a JSON dictionary.
            </summary>
            <returns>The JSON dictionary</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.ToJsonArray(System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Field})">
            <summary>
            Converts a list of fields to a JSON array.
            </summary>
            <returns>The JSON array</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.ToDictionary(ESRI.ArcGIS.Client.Field)">
            <summary>
            Converts a field to a JSON dictionary.
            </summary>
            <returns>The JSON dictionary</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.ToJsonArray(System.Collections.Generic.IEnumerable{ESRI.ArcGIS.Client.Graphic})">
            <summary>
            Converts a list of graphics to a JSON array.
            </summary>
            <returns>The JSON array</returns>
        </member>
        <member name="M:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.ToDictionary(ESRI.ArcGIS.Client.Graphic)">
            <summary>
            Converts a graphic to a JSON dictionary.
            </summary>
            <returns>The JSON dictionary</returns>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.Id">
             <summary>
            Gets or sets the id of the sublayer.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.PopupInfo">
             <summary>
            Gets or sets the popup definition for the sublayer.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.LayerUrl">
             <summary>
            Gets or sets the data source that should be used for all queries against the layer
            This includes popups, attribute queiries, etc.
             </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.FeatureSet">
            <summary>
            Gets or sets the <see cref="P:ESRI.ArcGIS.Client.WebMap.WebMapSubLayer.FeatureSet"/> containing the features to be displayed by the layer.
            Only applicable if the layer is part of an <see cref="T:ESRI.ArcGIS.Client.WebMap.FeatureCollection"/>. 
            </summary>
        </member>
        <member name="T:ESRI.ArcGIS.Client.Portal.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.Properties.Resources.BingMapsSerializer_InvalidLayerType">
            <summary>
              Looks up a localized string similar to Invalid layer type..
            </summary>
        </member>
        <member name="P:ESRI.ArcGIS.Client.Portal.Properties.Resources.MapConfiguration_InvalidDocument">
            <summary>
              Looks up a localized string similar to Invalid &apos;WebMap&apos; document..
            </summary>
        </member>
    </members>
</doc>
